2013-02-25 64 views
0

我有一些問題編輯現有的子節點,我不知道它可能的,但我希望它是。我嘗試了幾乎所有東西 這是代碼的一部分,我用它來獲取第一childnode文本C++ Windows窗體應用程序 - XML編輯現有的XML子節點

int x; 

void ReadX() 
{ 
String^strFilename = L"test.xml"; 
XmlDocument^testxml = gcnew XmlDocument; 

if (File::Exists(strFilename)) 
{ 
testxml->Load(strFilename); 
XmlElement^elm = testxml->DocumentElement; 
XmlNodeList^lstVideos = elm->ChildNodes; 
//MessageBox::Show(elm->Name); 
//MessageBox::Show(elm->InnerText); 
x = Convert::ToInt32(lstVideos[0]->InnerText); 
} 

和按鈕點擊

textBox1->Text=System::Convert::ToString(x); 

我想什麼做的是BUTTON2點擊輸入值從textBox1的到lstVideos [ 0] - >的innerText 請不要聯繫我MSDN因爲我已經與他們合作的例子,而我沒能解決這個問題。 我還是要學了很多關於XML,它會以是X1的編輯文字,我上面的代碼讀取X1的文本。按名稱閱讀孩子節點可能會更容易,但我還不知道如何做到這一點。

這是我的xml文件

<?xml version="1.0" encoding="utf-8"?> 
<Coords> 
<X1>10010</X1> 
<X2>200</X2> 
<X3>300</X3> 
<X4>400</X4> 
<X5>500</X5> 
</Coords> 
+0

我加入.NET和C++ - CLI的標籤,因爲這是一個多℃的.NET問題++問題 – 2013-02-25 21:22:48

回答

0

由於innerText屬性是一個String ^和textBox1->文本是一個String ^,爲什麼不:

lstVideos[0]->InnerText = textBox1->Text 

而且,由於雙方都是字符串,有實際上沒有理由將InnerText轉換爲int,然後回到原來的位置。

+0

我試過了,由於某種原因它不工作,可能是因爲我將其轉換爲int和回到字符串。只有我使用它作爲一個int,因爲它不是在主項目文件,其包括頭部:( – user2108849 2013-02-25 21:23:22

+0

沒關係原因。我有問題其他地方,這部分工作正常。泰非常多。 – user2108849 2013-02-25 21:27:34