使用XMLWriter在C#中创建自定义标头

时间:2014-07-29 17:08:04

标签: c# xml xmlwriter

我是XML的新手,也是使用XMLWriter对象的新手。我已成功使用它来编写一个“Well Formed”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()这样的东西来强制它,但这对我来说是不成功的。感谢您的任何见解。

2 个答案:

答案 0 :(得分:0)

为了写入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()
}

答案 1 :(得分:0)

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

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

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