2016-04-11 55 views
1

比方說,我有一個名爲data的字符串。 如何將一個字符串的文本放入其中一個節點中?我如何選擇哪一個包含字符串? 不像我看到的其他問題,我的XML將包含許多標籤。所以我不希望如此設置它包含一件事,而是將其添加到其他人。如何設置一個xml節點來包含字符串的內容?

+1

你能分享你的代碼嗎? – Bharat

+2

可能的重複http://stackoverflow.com/a/4130358/3434672 – AsafSavich

+0

[在C#中將字符串轉換爲XmlNode的更好方法]的可能重複(http://stackoverflow.com/questions/4130341/better-way-to -convert-a-string-to-xmlnode-in-c-sharp) –

回答

0

您可以使用下面的文本節點添加到您的XML文件與data您有:

// Open the XML 
XmlDocument doc = new XmlDocument(); 
doc.LoadXml("<somedata><moredata>sometext</moredata></somedata>"); 
// Create the new node, set to text and insert the data 
XmlNode newElem = doc.CreateNode("text", "yournodename", ""); 
newElem.InnerText = data; 
// Write the new node and append 
XmlElement root = doc.DocumentElement; 
root.AppendChild(newElem); 

如果您需要更具體的東西,請提供關於該節點名或XML的一些詳細信息文檔等

更新:正如評論中提到的,上述代碼將修改但不保存對XML的修改。爲此,請使用doc.Load("pathtoyourxml.xml")加載XML文檔,而不是使用doc.LoadXml(),並在使用doc.Save("pathtoyourxml.xml")後將其保存到相同路徑。

+0

我認爲這應該起作用。但它沒有; 'XmlDocument data = new XmlDocument(); data.Load(code_file); Console.WriteLine(data.ChildNodes [1] .InnerXml); username = data.ChildNodes [1] .InnerText; Console.WriteLine(code_file); ' –

+0

我試過了,但沒有奏效。我的意思是我做到了,我告訴程序顯示'newElem'裏面有什麼,它顯示我想要它顯示的文本,但是在我關閉並重新打開後,xml是空的,程序沒有顯示一個東西 –

+0

@ JonathanMoreno的答案已經更新,正確保存/加載XML文件。 –

相關問題