【问题标题】:Read XML from String从字符串中读取 XML
【发布时间】:2012-05-23 06:22:17
【问题描述】:
我有 XML 格式的数据。我将它存储在 varchar 数据类型列中。我已经通过在 Visual Studio 2010 中使用 Linq to sql 检索到它。我在字符串变量中获得了 xml 格式的数据。现在我需要将其作为 Xml 阅读。我需要在特定节点上取值。
for example,
<Sale>
<LTV>150</LTV>
<CLTV>350</CLTV>
<DLTV>600</DLTV>
</sale>
我需要获取 CLTV 价值。
【问题讨论】:
标签:
asp.net
xml
visual-studio-2010
sql-server-2005
【解决方案1】:
这段代码应该适合你:
using System.Xml;
...
string xmlStr = "<sale><LTV>150</LTV><CLTV>350</CLTV><DLTV>600</DLTV></sale>";
XmlDocument x = new XmlDocument();
x.LoadXml(xmlStr);
MessageBox.Show(x.GetElementsByTagName("CLTV")[0].InnerText);
【解决方案2】:
var value = XDocument.parse("YOUR_XML_STRING").Root.Element("ELEMENT_NAME").Value;
【解决方案3】:
试试
var xml = XElement.Parse("your xml");
//Gives you the value of the CLTV node
xml.Descendants("CLTV").FirstOrDefault().Value;
改变值
xml.Descendants("CLTV").FirstOrDefault().Value = "1";
//Save to disk
xml.Save({stream or file location});
//Get a string back
xml.ToString();
后代会给你一个 XElement 列表,你可以枚举它们,或者通过执行 FirstOrDefault 你会得到它找到的第一个元素或一个空元素。