【发布时间】:2016-08-22 23:23:47
【问题描述】:
如果某个元素的名称存在,我需要检查我的 XML 文档
channel-category
其中元素属性等于某个id
channel id="X"
我有以下函数,但它总是返回 false,即使它确实存在
static bool exists(string channelname)
{
string path;
string xmlfile = "\\xmlfile.xml";
path = Environment.CurrentDirectory + xmlfile;
XDocument xmlDoc = XDocument.Load(path);
bool doesexists = (from data in xmlDoc.Element("tv").Elements("channel").Elements("channel-category")
where (string)data.Attribute("id") == channelname
select data).Any();
return doesexists;
}
这是我的xml的一个例子
<tv info="blahblah">
<channel id="Channelname1">
<display-name lang="en">Channelname1</display-name>
<icon src="somelogo.png" />
<url>http://somelink.com</url>
<channel-category>SomeValue</channel-category>
</channel>
<channel id="Channelname2">
<display-name lang="en">Channelname2</display-name>
<icon src="somelogo.png" />
<url>http://somelink.com</url>
</channel>
</tv>
现在函数应该为 id Channelname1 返回 true,但为 id Channelname2 返回 false,但它只是为它们返回 false,我不知道为什么。有什么想法吗?
【问题讨论】:
标签: c# sql xml function parsing