从XML读取会产生不良后果

时间:2017-08-30 05:22:03

标签: c# xml

我只需要阅读这个简单的XML文件

IO a

这是我从元素中读取文本的代码" TextNews"和" VideoNews"

Either e a

这是XMLData的代码

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

当我从TextNews阅读内容时,里面的数值并不是我想要的

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()));

结果:

public class XMLData{

    public string charText;

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

我应该得到的答案是文件:currentNews.txt我真的不明白为什么&lt; TextNews&gt;出现在结果中

请帮助

2 个答案:

答案 0 :(得分:1)

el.ToString()返回元素的字符串表示形式(包括其标记)。要获取元素的值,请使用:

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

答案 1 :(得分:1)

而不是el.ToString()您必须使用el.Value。 我希望这可以帮到你。