【问题标题】:Using XMLWriter to create a custom header in C#使用 XMLWriter 在 C# 中创建自定义标头
【发布时间】:2014-07-30 01:45:22
【问题描述】:

我对 XML 还很陌生,对使用 XMLWriter 对象也很陌生。我已经成功地使用它编写了一个“格式良好”的 XML 文件,但是在多次尝试创建所需的标头失败之后,我决定来这里了解一下。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE IDMS-XML SYSTEM "http://eclipseinc.com/dtd/IDMS-XML.dtd"> 
<IDMS-XML>
....

这是我的代码的开头(非常标准):

using (XmlWriter xmlWriter = XmlWriter.Create("SendXML.xml"))
{
    xmlWriter.WriteStartDocument();
    ....

我尝试使用 xmlWriter.WriteString() 之类的东西来强制它进入,但这对我来说并不成功。感谢您提供所有见解。

【问题讨论】:

    标签: c# xml xmlwriter


    【解决方案1】:

    你需要更清楚你试图“强制进入”的“它”是什么。你的意思是&lt;!DOCTYPE ...?那是一个 doctype 声明,XmlWriter 有一个内置的添加方法。要创建SYSTEM doctype,请尝试:

    xmlWriter.WriteDocType("IDMS-XML", null, "http://eclipseinc.com/dtd/IDMS-XML.dtd", null);
    

    如果这不是你的意思,你必须更明确。

    【讨论】:

      【解决方案2】:

      为了写入 xml 文件,您需要创建 XmlTextWriter,然后创建一个节点来制作标题。希望对你有所帮助。

      XmlTextWriter writer = new XmlTextWriter("filename",System.Text.Encoding.UTF8);                  writer.WriteStartDocument(True)
      
          writer.WriteStartElement("Start Element Name")
          createNode("NodeName", writer)
          writer.WriteEndElement()
          writer.WriteEndDocument()
          writer.Close()
      
      
      public void createnode(String nodename, XmlTextWriter writer)
      {
          writer.WriteStartElement("Name Here")
          writer.WriteString(nodename)
          writer.WriteEndElement()
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-29
        • 2019-10-02
        • 1970-01-01
        • 2020-04-10
        • 2020-08-22
        • 2020-10-27
        • 2020-01-24
        • 1970-01-01
        相关资源
        最近更新 更多