我從C#控制檯的許多源中讀取多個進料,和我有這個代碼,我加載XML來源:如何獲得外殼網址的XElement C#控制檯
XmlDocument doc = new XmlDocument();
doc.Load(sourceURLX);
XElement xdoc = XElement.Load(sourceURLX);
如何獲得外殼網址並顯示爲變量?
我從C#控制檯的許多源中讀取多個進料,和我有這個代碼,我加載XML來源:如何獲得外殼網址的XElement C#控制檯
XmlDocument doc = new XmlDocument();
doc.Load(sourceURLX);
XElement xdoc = XElement.Load(sourceURLX);
如何獲得外殼網址並顯示爲變量?
如果我正確理解你的問題(我在這裏做一個大的假設) - 你想從根(或'封閉')標籤,名爲'網址'選擇一個屬性?
您可以在這裏使用XPath查詢。考慮下面的XML:
<?xml version="1.0" encoding="utf-8"?>
<root url='google.com'>
<inner />
</root>
您可以使用下面的代碼來檢索 'google.com':
String query = "/root[1]/@url";
XmlDocument doc = new XmlDocument();
doc.Load(sourceURLX);
String value = doc.SelectSingleNode(query).InnerText;
的XPath語法的更多信息,可以發現here。
編輯:
/item[1]/enclosure[1]/@url
_I'm在這裏做一個大的假設 - 爲什麼不要求OP澄清之前?;) – Fabio
如果它不合適,我會刪除答案:) –
謝謝,我是編程新手,我的英語不太好。但是,謝謝。我試着用你的答案嘗試,但沒有標籤,因爲在XML Feed中有外殼,因爲外殼標籤包含項目標籤,因爲此
:
<item>
<description>
</description>
<enclosure url="blablabla.com/img.jpg" />
</item>
因此,您可以使用下面的XPath查詢檢索的網址:正如您在您的評論說,你可以利用下面的XML工作像下面的xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>title</title>
<link>https://www.link.com</link>
<description>description</description>
<item>
<title>RSS</title>
<link>https://www.link.com/xml/xml_rss.asp</link>
<description>description</description>
<enclosure url="https://www.link.com/media/test.wmv"
length="10000"
type="video/wmv"/>
</item>
</channel>
</rss>
你會得到url
通過讀取屬性
var document = XDocument.Load(sourceURLX);
var url = document.Root
.Element("channel")
.Element("item")
.Element("enclosure")
.Attribute("url")
.Value;
要獲得多個URL
var urls = document.Descendants("item")
.Select(item => item.Element("enclosure").Attribute("url").Value)
.ToList();
使用foreach
環
foreach (var item in document.Descendants("item"))
{
var title = item.Element("title").Value;
var link = item.Element("link").Value;
var description = item.Element("description").Value;
var url = item.Element("enclosure").Attribute("url").Value;
// save values to database
}
這是可能的控制檯應用程序?我得到這個錯誤:'錯誤\t CS1061 \t'XmlDocument'沒有包含'Root'的定義,也沒有找到接受'XmlDocument'類型的第一個參數的擴展方法'Root'(你是否遺漏了using指令或者組裝參考?)' –
是的,它會工作。使用'var document = XDocument.Load(sourceURLX)' – Fabio
它可以工作,但對於所有10篇文章,我從firstone文章中獲得相同的圖像,我只獲得10次第一張圖像。 –
你能否澄清的問題? 「機箱網址」是什麼意思?如果合適,您的XML樣本可能也會有用於包含在問題中。 –
我讀的飼料,然後我把價值觀,並把數據庫作爲字符串,現在我需要閱讀圍欄文章圖像將網址映射到表中。因爲在控制檯中,我讀取提要並以字符串形式添加數據庫。標題,描述,網址對文章和文章圖片。現在我的問題只是從機箱標籤URL作爲字符串,maby作爲SElement可能或其他想法。 Maby現在您可以清楚地瞭解我的問題 –
'xDoc.Element(「item」)。Element(「enclosure」)。Attribute(「url」)。Value' – Fabio