1
我有一個xml的序列化對象,我想將xsi:noNamespaceSchemaLocation添加到根元素,我使用的是xmlwriter。如何使用xmlwirter將noNamespaceSchemaLocation添加到xml的根元素
我想我的XML喜歡下面的例子。
<?xml version="1.0" encoding="utf-8"?>
<root xsi:noNamespaceSchemaLocation="abc.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<child>false</child>
</root>
WriteStartElement不會爲我工作,因爲它會寫FileWriter對象之後創建最終的XML另一根元素。
fileWriter.WriteStartElement(「root」);
fileWriter.WriteAttributeString(「xsi」,「noNamespaceSchemaLocation」,null,「abc.xsd」);
我延長其XSD.EXE爲我的xsd生成的部分類,並在我的類增加了一個構件
[XmlAttribute(AttributeName="noNamespaceSchemaLocation",Namespace="http://www.w3.org/2001/XMLSchema-instance")]
public string noNamespaceSchemaLocation = "abc.xsd";
現在輸出是 -
<?xml version="1.0" encoding="utf-8"?>
<root p1:noNamespaceSchemaLocation="abc.xsd" xmlns:p1="http://www.w3.org/2001/XMLSchema-instance">
<child>false</child>
</root>
我想xsi代替p1.I發現它可能是因爲XmlAttribute的無效屬性,但無法弄清楚什麼。
使用XMLDocuments不是一個選項,因爲我想使用xml序列化。
任何幫助將不勝感激。