私は、コードを持っている:私はの出力期待このXmlDocumentをビルドするときにC#が2番目のxml名前空間属性を削除するのはなぜですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace XmlNameSpacingTesting
{
class Program
{
static void Main(string[] args)
{
XmlDocument output = new XmlDocument();
XmlNode baseNode = output.CreateElement("idat");
XmlAttribute xmlnsAttribute = output.CreateAttribute("xmlns:xsi");
xmlnsAttribute.Value = "http://www.w3.org/2001/XMLSchema-instance";
baseNode.Attributes.Append(xmlnsAttribute);
XmlAttribute xsiAttribute = output.CreateAttribute("xsi:noNamespaceSchemaLocation");
xsiAttribute.Value = "C:\\sub.xsd";
baseNode.Attributes.Append(xsiAttribute);
output.AppendChild(baseNode);
// DumbSubNode
XmlNode firstNode = output.CreateElement("Sub-Node1");
firstNode.InnerText = "Single Sub-Node";
baseNode.AppendChild(firstNode);
output.Save("Test.xml");
}
}
}
:
<idat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\sub.xsd">
<Sub-Node1>Single Sub-Node</Sub-Node1>
</idat>
をしかし、私はの出力を得る:それは離れて取ってXmlAttribute xsiAttributeで
<idat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="C:\sub.xsd">
<Sub-Node1>Single Sub-Node</Sub-Node1>
</idat>
を"xsi:"と私は理由を知らない。どんな助け?
それはチケットだった。本当にありがとう! –