You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从XML中提取InvDetailRequestHeader的invDate与invID属性值

提取XML节点属性的解决方案

核心思路

要提取节点上的属性值,不能用SelectSingleNode("属性名")(这是用来查找子节点的语法),正确做法是先定位到目标节点,再通过Attributes集合获取对应属性的Value值。

具体实现代码

针对你的XML结构,直接定位到InvDetailRequestHeader节点后提取属性:

XmlDocument doc = context.Data.ToXmlDocument();

// 定位到InvDetailRequestHeader节点
XmlNode headerNode = doc.SelectSingleNode("//InvDetailRequestHeader");

if (headerNode != null)
{
    // 提取invDate属性值
    string invDate = headerNode.Attributes["invDate"]?.Value;
    // 提取invID属性值
    string invID = headerNode.Attributes["invID"]?.Value;

    // 在这里将值赋值到你需要的变量或位置即可
    // 示例:targetVariable = invID;
}

补充说明

  • //InvDetailRequestHeader是XPath表达式,会在整个XML文档中查找所有匹配的节点;如果确定文档中只有一个该节点,用SelectSingleNode即可,若有多个则改用SelectNodes循环处理。
  • 代码中的?.运算符是为了避免属性不存在时触发空引用异常,如果你能确保目标属性一定存在,可以直接使用headerNode.Attributes["invID"].Value。

内容的提问来源于stack exchange,提问作者Phantom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:07:04