我多次尝试使用XmlWriter类编写以下XML节点,但我没有得到它;(
<document xmlns="abc:def-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="abc:def-org:v3 test.xsd">
有人可以帮助我吗? 亲切的问候
答案 0 :(得分:2)
using(var writer = XmlWriter.Create(...))
{
writer.WriteStartElement("document", "abc:def-org:v3");
writer.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
writer.WriteAttributeString("schemaLocation", "http://www.w3.org/2001/XMLSchema-instance", "abc:def-org:v3 test.xsd");
// ...
writer.WriteEndElement();
}
请特别注意,当我们添加schemaLocation
时,我们不会添加xsi:schemaLocation
,而是在schemaLocation
命名空间中添加&#34; http://www.w3.org/2001/XMLSchema-instance
& #34;和XmlWriter
将此映射到xsi
。如果你总是谈论命名空间而不是前缀,那么当你改变前缀时,你不会有任何令人讨厌的惊喜。