2011-01-25 119 views
0

我是C++中的新手。我有XML文件,此代碼:關於GetElementsByTagName的CLR C++語法問題

XmlDocument^ xml = gcnew XmlDocument(); 
xml -> Load("url.xml"); 

box -> Text = xml -> DocumentElement -> GetElementsByTagName("item") -> Item(0) -> GetElementsByTagName("title") -> Item(0) -> InnerXml; // This code doesnt work. 

和xml文件:

<item> 
     <pubDate>date</pubDate> 
     <title>title</title> 
     <author>author</author> 
     <description>description</description 
</item> 
<item> 
... 

我想從第一個項目獲得標題標籤。我不知道如何。請幫助。

upd。 我嘗試這樣的代碼,但如果我使用一個字符串,你有你的文件副本,我得到一個錯誤</description沒有結束>稱之爲xml.LoadXml()它不工作:(

xml -> DocumentElement -> GetElementsByTagName("item") -> Item(0) -> ChildNodes -> GetElementsByTagName("title") -> Item(0) -> InnerXml; 

回答

0

。如果我解決這個問題,我得到一個XmlException因爲你有多個根元素如果我刪除了第二<item>,那麼我可以得到這個給我的稱號(從我的C#代碼轉換上飛):

XmlElement^ item = (XmlElement)(xml->GetElementsByTagName("item")->Item(0)); 
string^ title = item->GetElementsByTagName("title")->Item(0)->InnerXml; 
0

此代碼正常工作

System::String^item = xml -> DocumentElement -> GetElementsByTagName("item")->Item(0) -> OuterXml; 

XmlDocument^ xmlt = gcnew XmlDocument(); 
xmlt -> LoadXml(item); 

System::String^ title = xmlt -> DocumentElement -> GetElementsByTagName("title")->Item(0)-> OuterXml; 

box -> Text = title;