簡體   English   中英

c#讀取xml文件

[英]c# reading xml file

我試圖從創建的xml文件中的thumbnail_large元素中提取<thumbnail_large>http://b.vimeocdn.com/ts/235/662/23566238_640.jpg</thumbnail_large>值。 有沒有辦法在不循環who xml文件的情況下提取該值? 謝謝你的幫助。

<videos>
    <video>
        <id>6271487</id>
        <title>Spheres</title>
        <description>text</description>
        <url>http://vimeo.com/6271487</url>
        <thumbnail_small>http://b.vimeocdn.com/ts/235/662/23566238_100.jpg</thumbnail_small>
        <thumbnail_medium>http://b.vimeocdn.com/ts/235/662/23566238_200.jpg</thumbnail_medium>
        <thumbnail_large>http://b.vimeocdn.com/ts/235/662/23566238_640.jpg</thumbnail_large>
        <embed_privacy>anywhere</embed_privacy>
    </video>
</videos>

是的,有,它被稱為XPath。 嘗試這個:

XmlDocument doc = new XmlDocument();
doc.Load(@"/path/to/file");
XmlNode node = doc.SelectSingleNode("/videos/video/thumbnail_large");
string URI = node.InnerText;

至少這是我可以從這個格式不佳的文件中讀取的內容。 如果您使用兩個不同的字母(視頻詳細信息和HTML標記),則應考慮使用命名空間。

看着:

  1. 對於.NET Framework 3.5+ - XDocument
  2. 否則: XmlDocument
string s=File.ReadAllText("My.xml");
List<string> urllist= new List<string>();
string val="<thumbnail_large>";
int start= s.IndexOf(val);
while(start!=-1)
{               
start = s.IndexOf(val,start+val.length);
int end = s.IndexOf("</thumbnail_large>",start);
urllist.add(s.Substring(start, end - start -1));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM