2017-06-16 46 views
2

我試圖生成一個XML文件,它看起來像:沒有XML元素添加純文本XML

<?xml version="1.0" encoding="UTF-8"?> 
<Device Version="1.0"> 
    <Packages> 
      <Package Manuf="TI" ModelName="123" MfgPartNumber="CSD86360" Description="DEVICE_INFO" > 
        ".PartialCkt 123 ExtNode = 1 3 4 6 
        V1 1 3 0 
        V2 4 6 0 
        .EndPartialCkt" 
      </Package> 
    </Packages> 


    <Thermal> 
     Manuf="TI" ModelName="123" MfgPartNumber="CSD86360" Description="DEVICE_INFO" 
     PowerDissipation="0.1W" 
     Material="2-Resistor CTM" 
     Thickness="1mm" 
     Theta_JB="1.5C/W" 
     Theta_JC="0C/W" 
     MaxDieTemperature="100C"" 
    </Thermal> 

</Device> 

我以下列方式正在嘗試:

XmlDocument xmlDoc = new XmlDocument(); 

XmlNode DeviceNode= xmlDoc.CreateElement("Device"); 
        XmlNode PackageNode= xmlDoc.CreateElement("Packages"); 
        PackageNode.AppendChild(Package); 
        ResistorsNode.AppendChild(ResistorNode); 
        XmlAttribute Attr1= xmlDoc.CreateAttribute("ModelName"); 
        Attr1.Value = "123"; 

        XmlAttribute Attr2 = xmlDoc.CreateAttribute("MfgPartNumber"); 
        Attr2.Value = "CSD86360"; 

等等..

現在我不知道如何爲包括普通文本

.PartialCkt 123 ExtNode = 1 3 4 6 
        V1 1 3 0 
        V2 4 6 0 
        .EndPartialCkt 

這不是本文檔中的XML節點。

回答

0

使用XML LINQ

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 


namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string xmlID = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Device Version=\"1.0\"></Device>"; 

      XDocument doc = XDocument.Parse(xmlID); 
      XElement device = doc.Root; 

      XElement packages = new XElement("Packages", new object[] { 
       new XElement("Package", new object[] { 
        new XAttribute("Manuf","TI"), 
        new XAttribute("ModelName","123"), 
        new XAttribute("MfgPartNumber","CSD86360"), 
        new XAttribute("Description","DEVICE_INFO"), 
        ".PartialCkt 123 ExtNode = 1 3 4 6\n" + 
        "V1 1 3 0\n" + 
        "V2 4 6 0 .EndPartialCkt" 
       }) 
      }); 

      device.Add(packages); 

      XElement thermal = new XElement("Thermal", new object[] { 
       new XAttribute("Manuf","TI"), 
       new XAttribute("ModelName","123"), 
       new XAttribute("MfgPartNumber","CSD86360"), 
       new XAttribute("Description","DEVICE_INFO"), 
       new XAttribute("PowerDissipation","0.1W"), 
       new XAttribute("Material","2-Resistor CTM"), 
       new XAttribute("Thickness","1mm"), 
       new XAttribute("Theta_JB","1.5C/W"), 
       new XAttribute("Theta_JC","0C/W"), 
       new XAttribute("MaxDieTemperature","100C") 
      }); 

      device.Add(thermal); 
     } 
    } 
} 
0

將其設置爲節點的Value

XmlNode PackageNode= xmlDoc.CreateElement("Packages"); 
XmlNode Package = xmlDoc.CreateElement("Package"); 
Package.Value = ".PartialCkt 123 ExtNode = 1 3 4 6\nV1 1 3 0\nV2 4 6 0\n.EndPartialCkt"; 
PackageNode.AppendChild(Package);