有没有办法添加字符串" xsi:type =" SomeType"使用XmlWriter类?
我的元素应该是这样的:
<Event xsi:type="SomeEvent" filename="c:\myFile.txt" ilepresence="Present">
答案 0 :(得分:1)
我找不到添加属性的方法&#34; xsi:type&#34;使用XmlWriter到元素。我最终使用了XmlDocument,并且能够实现我的目标。
这是我实现相同目标的代码:
XmlElement items = xmlDoc.CreateElement("Items");
xmlDoc.AppendChild(items);
xmlDoc.DocumentElement.SetAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
xmlDoc.DocumentElement.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
xmlDoc.DocumentElement.SetAttribute("xmlns", "http://myCompany.com/v1");
然后在代码中,我这样做了:
XmlAttribute xsiType = xmlDoc.CreateAttribute("xsi", "type", "http://www.w3.org/2001/XMLSchema");
xsiType.Value = "MyAttributeValue";
希望这有助于某人。
答案 1 :(得分:0)
一旦写入元素的开始,就可以使用WriteAttributeString()向其添加属性。例如:
string xsins = "http://www.w3.org/2001/XMLSchema-instance";
// Make sure you add this namespace to the root element...
writer.WriteAttributeString(localName: "xsi", ns: xmlns,
value: xsins);
// Now you can reference that namespace in any child element
writer.WriteStartElement("Event");
writer.WriteAttributeString("type", xsins, "xsd:SomeEvent");
writer.WriteEndElement();