У меня есть 2 вопроса о том, как вы это делаете:
1 ) Вам нужно использовать текстовый редактор? Если у вас есть доступ к c # 3.0, вы можете использовать следующее:
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XAttribute(XNamespace.Xmlns + "xsd", "http://www.w3.org/2001/XMLSchema"),
new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
new XElement("Equipment",
new XElement("License",
new XAttribute("licenseId", ""),
new XAttribute("licensePath", "")
)
)
);
2) Нужно ли объявлять два пространства имен? Мне кажется, что вы их не используете:
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("Equipment",
new XElement("License",
new XAttribute("licenseId", ""),
new XAttribute("licensePath", "")
)
)
);
Если вы намереваетесь записать в документ несколько элементов License
, и у вас есть они в Array
, List
или каком-либо другом IEnumerable
, вы можете использовать что-то похожее на код ниже, чтобы плюнуть их все вышло:
IEnumerable<LicenceObjects> licenses = //some code to make them;
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("Equipment",
licenses.Select(l =>
new XElement("License",
new XAttribute("licenseId", l.licenseId),
new XAttribute("licensePath", l.licensePath)
)
)
)
);
string xmlDocumentString = doc.ToString();
Конечно, если у вас нет .NET 3.0, то это бесполезно для вас: (