2009-09-02 11 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プロパティが必要だと思います。例えば

:あなたはxmldoc.LoadXml(xmlTags)を使用して文字列からXmlDocumentオブジェクトを作成することができます

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

おかげで、それがうまく働きました。私は昨日それを試して、動作しませんでした。おそらく、長い一日でした! もう一度ありがとうございます。 – Derar

0

+0

ええ、それは私のために働く別のオプションです。頭痛の少ないものが欲しかった。しかし、あなたは someNode.AppendChild(doc.ImportNode(rolesNode、true))を使用しなければなりません。 新しいDOMツリーを構築するときに最初のDOMツリーに追加します。 – Derar

関連する問題