Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用c#中的xml解析从内部xml获取内容?_C#_Xml_Xml Parsing - Fatal编程技术网

使用c#中的xml解析从内部xml获取内容?

使用c#中的xml解析从内部xml获取内容?,c#,xml,xml-parsing,C#,Xml,Xml Parsing,我有一个服务,它将以下xml作为字符串返回。我正在使用Xdocument解析方法和XmlDocument加载方法将字符串转换为xml。但我想解析并获取状态和i_编号,以便进一步处理。有人能给我指出正确的方向或给出一些提示吗。下面是我正在使用的xml 我尝试了Xdocument和XmlDocument中的innerxml属性,它返回整个“”元素,这不是我所需要的 <Report> <Incidentreport Company="company1" ID="sample"

我有一个服务,它将以下xml作为字符串返回。我正在使用Xdocument解析方法和XmlDocument加载方法将字符串转换为xml。但我想解析并获取状态和i_编号,以便进一步处理。有人能给我指出正确的方向或给出一些提示吗。下面是我正在使用的xml

我尝试了Xdocument和XmlDocument中的innerxml属性,它返回整个“”元素,这不是我所需要的

<Report>
    <Incidentreport Company="company1" ID="sample">
       <status i_number="12345678" status="sucessful" />
    </Incidentreport>
</Report>

以下各项应起作用:

string str = [string of xml goes here];
string i_number = string.Empty;
XmlDocument doc = new XmlDocument();
doc.Load(str);
XmlNode node = doc.SelectSingleNode("//status");
i_number = node.Attributes["i_number"].Value;
可以使用哪个accept参数一次性获取目标属性值*:

var raw = @"<Report>
    <Incidentreport Company='company1' ID='sample'>
       <status i_number='12345678' status='sucessful' />
    </Incidentreport>
</Report>";
var doc = new XmlDocument();
doc.LoadXml(raw);
var result = doc.SelectSingleNode("/Report/Incidentreport/status/@i_number");
Console.WriteLine(result.Value);
var raw=@”
";
var doc=新的XmlDocument();
doc.LoadXml(原始);
var result=doc.SelectSingleNode(“/Report/Incidentreport/status/@i_number”);
Console.WriteLine(result.Value);

*)请注意如何通过在XPath中使用
@attribute\u name
语法来引用XML属性