如何将 XmlElement 写入 XmlTextWriter,其中元素可能有子元素

Jiale Xue - MSFT 46,296 信誉分 Microsoft 供应商
2024-03-14T07:59:13.33+00:00

大家好;

在 .NET 中,有没有一种简单的(单次调用)方法可以将 XmlElement 写入 XmlTextWriter,其中该元素将完整写出到输出中?

其中 XmlElement 可能具有许多子元素,并且它们具有子元素等。以及它根据需要显式添加命名空间的地方。

Note:此问题总结整理于: How can I write an XmlElement to an XmlTextWriter, where the element may have children

.NET 运行时
.NET 运行时
.NET: 基于 .NET 软件框架的 Microsoft 技术。运行时: 运行未编译为机器语言的应用所需的环境。
54 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
    2024-03-14T09:28:51.6766667+00:00

    XmlElement 和 XmlDocument 都继承了 XmlNode,并且它们都具有 WriteTo() 方法。您应该能够调用 XmlElement.WriteTo(XmlWriter) 方法来解决问题。 另外,你不需要在意它是否有子项,c#会正确处理它。 我的测试的简单代码示例:

            static void Main(string[] args)  
            {  
                XmlDocument doc = new XmlDocument();  
                doc.PreserveWhitespace = true;  
                doc.Load(@"D:\test\xml\booksData.xml");  
      
                XmlElement root = doc.DocumentElement;  
                
                XmlElement elem = doc.CreateElement("price");  
                elem.InnerText = "19.95";  
                root.AppendChild(elem);  
                  
                using (XmlTextWriter w = new XmlTextWriter(@"d:\test\xml\out.xml", Encoding.UTF8))  
                {  
                    root.WriteTo(w);  
                }  
            }  
    
    
    

    如果回复有帮助,请单击“接受答案”并投赞成票。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。