[英]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.