• <i id='SkXFx'><tr id='SkXFx'><dt id='SkXFx'><q id='SkXFx'><span id='SkXFx'><b id='SkXFx'><form id='SkXFx'><ins id='SkXFx'></ins><ul id='SkXFx'></ul><sub id='SkXFx'></sub></form><legend id='SkXFx'></legend><bdo id='SkXFx'><pre id='SkXFx'><center id='SkXFx'></center></pre></bdo></b><th id='SkXFx'></th></span></q></dt></tr></i><div id='SkXFx'><tfoot id='SkXFx'></tfoot><dl id='SkXFx'><fieldset id='SkXFx'></fieldset></dl></div>
  • <legend id='SkXFx'><style id='SkXFx'><dir id='SkXFx'><q id='SkXFx'></q></dir></style></legend>
      <bdo id='SkXFx'></bdo><ul id='SkXFx'></ul>

  • <tfoot id='SkXFx'></tfoot>

        <small id='SkXFx'></small><noframes id='SkXFx'>

        使用 XmlDocument.CreateElement() 创建具有命名空间的 XML 元素

        时间:2023-09-16

          <small id='wOHSl'></small><noframes id='wOHSl'>

            <tbody id='wOHSl'></tbody>

            <bdo id='wOHSl'></bdo><ul id='wOHSl'></ul>
              • <legend id='wOHSl'><style id='wOHSl'><dir id='wOHSl'><q id='wOHSl'></q></dir></style></legend>

                  <i id='wOHSl'><tr id='wOHSl'><dt id='wOHSl'><q id='wOHSl'><span id='wOHSl'><b id='wOHSl'><form id='wOHSl'><ins id='wOHSl'></ins><ul id='wOHSl'></ul><sub id='wOHSl'></sub></form><legend id='wOHSl'></legend><bdo id='wOHSl'><pre id='wOHSl'><center id='wOHSl'></center></pre></bdo></b><th id='wOHSl'></th></span></q></dt></tr></i><div id='wOHSl'><tfoot id='wOHSl'></tfoot><dl id='wOHSl'><fieldset id='wOHSl'></fieldset></dl></div>
                  <tfoot id='wOHSl'></tfoot>
                • 本文介绍了使用 XmlDocument.CreateElement() 创建具有命名空间的 XML 元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试使用 C# 和 .NET(版本 2.0.. 是的,版本 2.0)创建一个 XmlDocument.我已使用以下方法设置命名空间属性:

                  I'm trying to create an XmlDocument using C# and .NET (version 2.0.. yes, version 2.0). I have set the namespace attributes using:

                  document.DocumentElement.SetAttribute(
                      "xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope");
                  

                  当我创建一个新的 XmlElement 使用:

                  When I create a new XmlElement using:

                  document.createElement("soapenv:Header");
                  

                  ...它不包括最终 XML 中的 soapenv 命名空间.任何想法为什么会发生这种情况?

                  ...it doesn't include the soapenv namespace in the final XML. Any ideas why this happens?

                  更多信息:

                  好的,我会试着澄清一下这个问题.我的代码是:

                  Okay, I'll try to clarify this problem a bit. My code is:

                  XmlDocument document = new XmlDocument();
                  XmlElement element = document.CreateElement("foo:bar");
                  document.AppendChild(element); Console.WriteLine(document.OuterXml);
                  

                  输出:

                  <bar />
                  

                  但是,我想要的是:

                  <foo:bar />
                  

                  推荐答案

                  您可以使用 bar 元素en-us/library/c22k3d47%28v=vs.110%29.aspx" rel="nofollow noreferrer">XmlDocument.CreateElement 方法(字符串、字符串、字符串)

                  You can assign a namespace to your bar element by using XmlDocument.CreateElement Method (String, String, String)

                  示例:

                  using System;
                  using System.Xml;
                  
                  XmlDocument document = new XmlDocument();
                  
                  // "foo"                    => namespace prefix
                  // "bar"                    => element local name
                  // "http://tempuri.org/foo" => namespace URI
                  
                  XmlElement element = document.CreateElement(
                      "foo", "bar", "http://tempuri.org/foo");
                  
                  document.AppendChild(element);
                  Console.WriteLine(document.OuterXml);
                  

                  预期输出 #1:

                  <foo:bar xmlns:foo="http://tempuri.org/foo" />
                  

                  举个更有趣的例子,在 document.AppendChild(element); 之前插入这些语句:

                  For a more interesting example, insert these statements before document.AppendChild(element);:

                  XmlElement childElement1 = document.CreateElement("foo", "bizz",
                      "http://tempuri.org/foo");
                  
                  element.AppendChild(childElement1);
                      
                  XmlElement childElement2 = document.CreateElement("foo", "buzz",
                      "http://tempuri.org/foo");
                  
                  element.AppendChild(childElement2);
                  

                  预期输出 #2:

                  <foo:bar xmlns:foo="http://tempuri.org/foo"><foo:bizz /><foo:buzz /></foo:bar>
                  

                  请注意,子元素 bizzbuzz 以命名空间前缀 foo 为前缀,命名空间 URI http://tempuri.org/foo 不会在子元素上重复,因为它是在父元素 bar 中定义的.

                  Note that the child elements bizz and buzz are prefixed with the namespace prefix foo, and that the namespace URI http://tempuri.org/foo isn't repeated on the child elements since it is defined within the parent element bar.

                  这篇关于使用 XmlDocument.CreateElement() 创建具有命名空间的 XML 元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:ASP.NET 命名空间 下一篇:using 指令到底是做什么的?

                  相关文章

                • <i id='g8tTf'><tr id='g8tTf'><dt id='g8tTf'><q id='g8tTf'><span id='g8tTf'><b id='g8tTf'><form id='g8tTf'><ins id='g8tTf'></ins><ul id='g8tTf'></ul><sub id='g8tTf'></sub></form><legend id='g8tTf'></legend><bdo id='g8tTf'><pre id='g8tTf'><center id='g8tTf'></center></pre></bdo></b><th id='g8tTf'></th></span></q></dt></tr></i><div id='g8tTf'><tfoot id='g8tTf'></tfoot><dl id='g8tTf'><fieldset id='g8tTf'></fieldset></dl></div>

                    <small id='g8tTf'></small><noframes id='g8tTf'>

                    <tfoot id='g8tTf'></tfoot>
                  1. <legend id='g8tTf'><style id='g8tTf'><dir id='g8tTf'><q id='g8tTf'></q></dir></style></legend>
                    • <bdo id='g8tTf'></bdo><ul id='g8tTf'></ul>