我有一个xml文件,我想知道是否可以查看xml文件中是否存在<VertrekVertragingTekst>
。
这是xml节点:
<VertrekkendeTrein>
<RitNummer>4722</RitNummer>
<VertrekTijd>2014-06-03T09:45:00+0200</VertrekTijd>
<VertrekVertraging>PT2M</VertrekVertraging>
<VertrekVertragingTekst>+2 min</VertrekVertragingTekst>
<EindBestemming>Uitgeest</EindBestemming>
<TreinSoort>Sprinter</TreinSoort>
<Vervoerder>NS</Vervoerder>
<VertrekSpoor wijziging="false">2</VertrekSpoor>
</VertrekkendeTrein>
(这些节点是荷兰语,所以不要注意他们说的话,这并不重要)
这是我到目前为止的c#代码:
XmlNodeList nodeList = xmlDoc.SelectNodes("ActueleVertrekTijden/VertrekkendeTrein/*");
foreach (XmlNode nodelist2 in nodeList)
{
if (i < 1) //1
switch (nodelist2.Name)
{
case "VertrekTijd": string kuttijd1 = (nodelist2.InnerText);
var res1 = Regex.Match(kuttijd1, @"\d{1,2}:\d{1,2}").Value;
lblv1.Text = Convert.ToString(res1); break;
case "VertrekVertragingTekst": ververt1.Text = (nodelist2.InnerText); ververt1.Visible = true; vertpic1.Visible = true; logo1.Top -= 9; lblts1.Top -= 9; break;
case "EindBestemming": string vertrek1 = (nodelist2.InnerText); if (vertrek1 == "Uitgeest") { lblvia1.Text = "Krommenie-Ass"; } lblbs1.Text = vertrek1; break;
case "TreinSoort": lblts1.Text = (nodelist2.InnerText); break;
case "RouteTekst": lblvia1.Text = (nodelist2.InnerText); break;
case "VertrekSpoor": lbls1.Text = (nodelist2.InnerText); i++; break;
}
}
我可以读出这个文件,一切正常,但我想知道我怎么能检测到这个节点的存在?
答案 0 :(得分:3)
var result = node.SelectSingleNode("nodeTocheck");
if(result!=null)
{
}
答案 1 :(得分:0)
可以使用Linq To Xml基于以下代码片段完成。
XDocument XmlDoc = XDocument.Parse(Doc);
var Query = XmlDoc.Root.DescendantNodes()
.OfType<XElement>()
.Where(iEl =>iEl.Name.LocalName.Equals("NodeName"));
序列将包含名称为NodeName
的所有节点。
答案 2 :(得分:0)
我使用 XmlReader 类来读取XML文件,您也可以尝试一下 命名空间 System.Xml.XmlReader
示例:强>
String xmlString =
@"<bookstore>
<book genre='autobiography' publicationdate='1981-03-22' ISBN='1-861003-11-0'>
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
</bookstore>";
// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
if(reader.ReadToFollowing("book"))
{
reader.MoveToFirstAttribute();
string genre = reader.Value;
Console.WriteLine("The genre value: " + genre);
}
else
{
//Do something else
}
}
<强>输出强>
流派价值:自传