簡體   English   中英

如何從XML標簽獲取值?

[英]how to get the value from XML tag?

以下是我從數據庫收到的信息。 它最初來自XML文件,但是存儲在DB表中,我無法改變這種情況。 由於沒有更多可用信息,我需要以這種方式工作。

我在數據集中讀取了這些行,並且我的行包含4種可能的方式。...我使用了Value1,Value2,Value3,Value4...。有沒有一種方法可以輕松獲取這些值。 值4是特殊的。 我不知道它是怎么來的,但看起來像一個標簽……但是我需要它。



<位置> \\ n <P>值1 </ P> \\ n </位置>
<ACCEPTED_VARIANTES VALUE = \\“ Value2 \\” />
<PERIOD_DAY>值3 </ PERIOD_DAY>
<AWARD_CRITERIA_DETAIL> \\ n <Value4 /> \\ n </ AWARD_CRITERIA_DETAIL>

所以結果應該是:
例如
字符串位置=“值1”;
字符串acceptedVariantes =“ Value2”;
int period = Value3;
字符串AwarDetail =“ Value4”;

如果使用.Net> = 3.5,則可以使用Linq to SQL來檢索值,下面是一個示例:

XElement elem = XElement.Parse("<xml><LOCATION><P>Value1</P></LOCATION><ACCEPTED_VARIANTES VALUE=\"Value2\"/><PERIOD_DAY>Value3</PERIOD_DAY><AWARD_CRITERIA_DETAIL><Value4/></AWARD_CRITERIA_DETAIL></xml>");

var Value1 = elem.Element("LOCATION").Value;
var Value2 = elem.Element("ACCEPTED_VARIANTES").Attribute("VALUE").Value;
var Value3 = elem.Element("PERIOD_DAY").Value;
var Value4 = elem.Element("AWARD_CRITERIA_DETAIL").Element("Value4").Value;

注意:我在xml字符串周圍添加了<xml>...</xml>標記,以使其正確解析(XML始終僅接受1個根元素。我假設您的數據庫值格式正確。

附帶說明一下,此代碼不受保護,這意味着如果您要查找的標簽(例如<LOCATION> )不存在,則在嘗試訪問Value字段時會出現異常( NullReferenceException )。

相反,您可以嘗試以下操作:

var val1 = elem.Element("LOCATION");
var Value1 = val1 != null ? val1.Value : "no data found";

當標簽不存在時,這將避免此異常。

暫無
暫無

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

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