2017-08-30 44 views
0

我只需要從這個簡單的XML文件從XML獲得不需要的結果閱讀

<?xml version="1.0" encoding="utf-8"?> 
<NewsUpdate> 
    <TextNews> 
     currentNews.txt 
    </TextNews> 
    <VideoNews> 
     Live Avatar Meet Sean.mp4 
    </VideoNews> 
</NewsUpdate> 

這是我的代碼從元素中讀取文本「TextNews」和「VideoNews」

xmlDoc = XDocument.Load("Assets/Resources/InovationNewsUpdate.xml"); 
root = xmlDoc.Root 
IEnumerable<XElement> textElement = 
     from el in xmlDoc.Descendants("TextNews") 
     select el; 
    foreach (XElement el in textElement) 
    { 
     //XMLData is a class to handle storing of elements data 
     textNews.Add(new XMLData(el.ToString())); 
    } 

IEnumerable<XElement> videoElement = 
     from el in xmlDoc.Descendants("VideoNews") 
     select el; 
    foreach (XElement el in videoElement) 
     videoNews.Add(new XMLData(el.ToString())); 

這個閱讀是XMLData的代碼

public class XMLData{ 

    public string charText; 

    public XMLData (string character) 
    { 
     charText = character; 
    } 
} 

當我從TextNews中讀取內容時,裏面的值不是我想要的

foreach (XMLData dataIn in textNews) 
{ 
    loadFile = dataIn.charText; 

    Debug.Log("File :" + loadFile); 
} 

結果:

File: <TextNews> currentNews.txt 

答案,我應該得到的是文件:currentNews.txt我真的不明白爲什麼< TextNews>出現在結果

請幫助

+0

您打算對您的'XMLData'類進行未來更改嗎?就像現在這樣,它看起來只是一個非常複雜的方法來傳遞'string'值。 – JLRishe

回答

1

el.ToString()返回元素(包括其標籤)的字符串表示形式。要獲得該元素的值,使用:

textNews.Add(new XMLData((string)el)); 
1

,而不是el.ToString()你必須使用el.Value。 我希望這可以幫助你。