2009-09-02 18 views
0

反正我可以用字符串创建节点吗?我在网上搜索了一些东西,但找不到任何可行的东西!字符串中的XmlNode的innerText

string _configFileName = @"d:\junk\config.xml"; 
XmlDocument xmldoc = new XmlDocument(); 
xmldoc.Load(_configFileName); 

string xmlTags = @"<queue name=queueName autoStart=true> 
    <deleteFile>true</deleteFile> 
    <impersonation enabled=true> 
    <user>domain\username</user> 
    <password encrypted="true">********</password> 
    </impersonation> 
    <tasks> 
    <task>cp</task> 
    <task>rm</task> 
    </tasks> 
    </queue>"; 
    queueParent.InnerText = str;//the Xml parent node of the new queue node that I want to add 
    xmldoc.Save();//will write &lt;queue name= INSTEAD OF <queue name= 

所以问题是具有XML“<”特殊字符和“>”写入文件为“<”和“>”。 您的意见非常感谢,谢谢。

回答

1

我想你想要InnerXml财产,而不是InnerText

例如:

using System; 
using System.Xml; 

class Test 
{ 
    static void Main() 
    { 
     XmlDocument doc = new XmlDocument(); 
     XmlElement root = doc.CreateElement("root"); 
     doc.AppendChild(root); 
     root.InnerXml = "<child>Hi!</child>"; 
     doc.Save(Console.Out); 
    } 
} 
+0

感谢串一个XmlDocument,它工作得很好。我昨天试过了,并没有工作。也许是漫长的一天! 再次感谢。 – Derar 2009-09-02 17:19:25

0

您可以创建使用xmldoc.LoadXml(xmlTags)

+0

是的,这是另一种适用于我的选项。我想要的东西少一点头痛。但你必须使用 someNode.AppendChild(doc.ImportNode(rolesNode,true)); 将它添加到第一个DOM树,因为您正在构建一个新的DOM树。 – Derar 2009-09-02 17:23:09