C# 使用单个数据获取XML
此网站以XML格式报告数据C# 使用单个数据获取XML,c#,xml,C#,Xml,此网站以XML格式报告数据 <markers> <marker lat="xxx" lng="xxx" city="xxx" country="xxx" host="xxx" ip="xx" code="xx"/> </markers> 但是返回所有xml数据一旦获得要查找的节点(标记),就可以从中获取属性。请注意,通常最好在从属性访问属性之前检查属性是否为null。这是获取lat属性的示例: XmlDocument d
<markers>
<marker lat="xxx" lng="xxx" city="xxx"
country="xxx" host="xxx" ip="xx" code="xx"/>
</markers>
但是返回所有xml数据一旦获得要查找的节点(标记),就可以从中获取属性。请注意,通常最好在从属性访问属性之前检查属性是否为null。这是获取lat属性的示例:
XmlDocument doc = new XmlDocument();
doc.Load("http://geoiptool.com/data.php");
var marker = doc.SelectSingleNode("//markers/marker");
string lat = marker.Attributes["lat"].Value;
一旦获得要查找的节点(标记),就可以从中获取属性。请注意,通常最好在从属性访问属性之前检查属性是否为null。这是获取lat属性的示例:
XmlDocument doc = new XmlDocument();
doc.Load("http://geoiptool.com/data.php");
var marker = doc.SelectSingleNode("//markers/marker");
string lat = marker.Attributes["lat"].Value;
另一个选项(而不是XmlDocument
)是使用XElement
。这允许使用Linq,这使一切变得更好
XElement root = XElement.Load("http://geoiptool.com/data.php"); //check me on that, not sure if it will handle urls
foreach(var marker in root.Elements("marker"))
{
string lat = marker.Attribute("lat").Value;
string lng = marker.Attribute("lng").Value;
...
}
另一个选项(而不是XmlDocument
)是使用XElement
。这允许使用Linq,这使一切变得更好
XElement root = XElement.Load("http://geoiptool.com/data.php"); //check me on that, not sure if it will handle urls
foreach(var marker in root.Elements("marker"))
{
string lat = marker.Attribute("lat").Value;
string lng = marker.Attribute("lng").Value;
...
}
try doc.Load(“.Attributes”(.lat”)不起作用此代码=(@TamilSelvan,
doc.Load
返回无效。您需要将代码分成两条语句。try doc.Load(.Attributes(“lat”)不起作用此代码=(@TamilSelvan,doc.Load
返回void。您需要将代码分成两条语句。