3

ルート要素にnamespaceURIが設定されたxmlドキュメントがあります。このnsで新しい要素を追加したいと思います。私はこのコードを書きました:

XmlDocument doc=new XmlDocument();
doc.LoadXml("<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"></w:wordDocument>");
XmlElement child=doc.CreateElement("w:body");
doc.DocumentElement.AppendChild(child);
//NamespaceURI remains empty
Assert.AreEqual(child.NamespaceURI,"http://schemas.microsoft.com/office/word/2003/wordml");

プレフィックスを設定しても、namespaceURIには影響しません。そしてそれはシリアル化します

<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml">
    <body></body>
</w:wordDocument>

それ以外の

<w:body></w:body>

私に何ができる?ご協力いただきありがとうございます。

4

1 に答える 1

4
[Test]
public void XmlSample()
{
    const string nameSpaceUri = @"http://schemas.microsoft.com/office/word/2003/wordml";
    const string prefix = "w";
    XmlDocument xmlDocument = new XmlDocument();
    XmlNode wordDocument = xmlDocument.CreateElement(prefix, "wordDocument", nameSpaceUri);
    XmlElement body = xmlDocument.CreateElement(prefix,"body",nameSpaceUri);
    xmlDocument.AppendChild(wordDocument);
    wordDocument.AppendChild(body);
    Assert.AreEqual(body.Name, "w:body");
}
于 2012-10-01T00:09:58.833 に答える