注意我仅限于.NET 2.0
我需要使用XmlTextWriter添加命名空间。我没有阅读Xml文档或将其保存。起初我以为我可以使用XmlNameSpaceManager来添加命名空间,但这似乎是我在xml文档中读取或使用XmlDocument对象的情况。
也许我过度复杂了,因为我一次只处理一个命名空间。看来我可以添加一个带有属性的根元素来手动创建命名空间,因为它位于根元素上。
我需要创建的示例:
<?xml version="1.0" encoding="utf-8"?>
<abcElement xmlns="urn:schemas-acme-com:transaction-data-1.1">
</abcElement>
执行以下操作会出现问题:
xtw.WriteStartDocument();
xtw.WriteStartElement("abcElement");
xtw.WriteAttributeString("xmlns", "urn:schemas-acme-com:transaction-data-1.1");
xtw.WriteEndElement();
或者这有问题吗?
答案 0 :(得分:0)
稍后当您添加其他元素时,您可能会从XNamespace和XElement获得更多里程。
答案 1 :(得分:0)
您不应该尝试手动输出xmlns。请使用WriteStartElement的另一个替代 - http://msdn.microsoft.com/en-us/library/7cdfkth5.aspx
writer.WriteStartElement(prefix, "ISBN", "urn:samples");
答案 2 :(得分:0)
xtw.WriteStartElement("abcElement");
xtw.WriteAttributeString("xmlns", "urn:schemas-acme-com:transaction-data-1.1");
应该是
xtw.WriteStartElement("abcElement", "urn:schemas-acme-com:transaction-data-1.1");