从 XML 文件中读取值

2024-06-08

我在用XDocument为了加载 XML 文件,包含此内容,我正在尝试读取<pjob:job_variables>节点内容,并且对于中的每个节点<pjob:job_variables>获取名称和值, 因此对于<pjob:var name="XMLFilePath">E:\PP\REPC.xt</pjob:var>得到名字XMLFilePath以及它的价值E:\PP\REPC.xt

<?xml version="1.0"?>
<?P_command version="1.0"?>
<pjob:job_command xmlns:pjob="http://www.pp.com/schemas" name="SubmitJob">
    <pjob:job_variables>
        <pjob:var name="XMLFilePath">E:\PP\REPC.xt</pjob:var>
        <pjob:var name="TSLFilePath">E:\PP\REPC.tl</pjob:var>
        <pjob:var name="_sys_BitmapType">jpeg</pjob:var>
        .........
    </pjob:job_variables>
    <pjob:doc_variables>  
        <pjob:var name="CompanyPhone"/>
        <pjob:var name="CompanyWebsite">www.site.com</pjob:var>    
        .........
    </pjob:doc_variables>
</pjob:job_command>

我尝试了很多变化,比如

string name, value = String.Empty;
XDocument doc = XDocument.Load("../assets/packet.xml");
var authors = doc.Descendants("job_variables");
foreach (var node in nodes)
{
  name = node.name;
  value = node.value;
}

但他没有找到Descendants,我怎样才能实现它?


您只需要在前面添加名称空间pjob:

XNamespace ns = "http://www.pp.com/schemas";
XDocument doc = XDocument.Load("../assets/packet.xml");
var authors = doc.Root.Element(ns + "job_variables").Elements();

或者使用XName.Get() method:

var authors = doc.Root.Element(XName.Get("job_variables", "http://www.pp.com/schemas")).Elements();

这将获取“job_variables”元素的所有子元素。

按照注释中的指定,获取两者的元素job_variables and doc_variables,您甚至不需要通过元素的名称来访问它们;只需使用doc.Root.Elements().Elements().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 XML 文件中读取值 的相关文章

  • 在 C# 中创建具有单独列的分隔文本

    我一直在尝试在 C 中创建一个制表符限制的文本文件 以便数据正确显示在单独的列中 Firstname Lastname Age John Smith 17 James Sawyer 31 我尝试过 t 字符 但我得到的只是 Firstnam
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • jQuery 自动完成 - xml 跨站点请求

    我的自动完成功能的 XML 提要位于另一台服务器上 是否有客户端 javascript 方法来获取此 XML 文档 我知道我可以使用 php jsp 等创建代理 但我需要在所有客户端完成此操作 这就是我现在调用该文件的方式 该文件仅在同一域
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • USSD 接口 -> java web 应用程序通信

    请需要一些有关通过 USSD 接口进行 Java Web 应用程序通信的信息 我们需要实施这一举措 以覆盖拥有低端手机的贫困社区的目标客户群 我正在研究 USSD 作为与我们当前的 Java EE Web 应用程序进行通信的一种方式 我相信
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 防止在工厂方法之外实例化对象

    假设我有一个带有工厂方法的类 class A public static A newA Some code logging return new A 是否可以使用 a 来阻止此类对象的实例化new 那么工厂方法是创建对象实例的唯一方法吗 当

随机推荐

  • Jenkins 管道:代理与节点?

    和有什么区别agent and a node在詹金斯管道中 我找到了这些定义 Node https jenkins io doc book pipeline 管道在一个或多个声明的节点步骤的上下文中执行大部分工作 Agent https j
  • Mocha / Chai Expect.to.throw 未捕获抛出的错误

    我在获取 Chai 时遇到问题expect to throw测试我的 node js 应用程序 测试在抛出的错误上不断失败 但是如果我将测试用例包装在 try 和 catch 中 并对捕获的错误进行断言 它就会起作用 Does expect
  • 在VBA中使用类模块作为命名空间是否有任何陷阱

    VBA 不支持命名空间 Java 人员的包 其他语言中的命名空间有助于避免歧义并补充成员名称自动完成等工具 在 VBA 中模拟命名空间的一种方法是在类模块中声明什么是事实上的静态方法 然后在标准模块中声明该类的默认实例 这甚至是一些 Mic
  • 自动从 iTunes Connect 下载销售报告

    我有一个漂亮而 hacky 的 Perl 脚本来自动从 iTunes Connect 抓取和下载销售报告文件 截至今天 苹果对销售报告网站进行了全面改革 它看起来好多了 但它使用了大量 JavaScript 简单的抓取不再有效 那么 有人知
  • 为什么 Visual Studio 尝试安装到 Program Files (x86)?

    当我启动 VS 2017 安装程序时 默认安装目录设置为 Program Files x86 我在 64 位计算机上使用 Windows 10 x64 操作系统 我从这个链接下载的https www visualstudio com dow
  • 如何将多项式拟合到带有误差线的数据

    我目前正在使用 numpy polyfit x y deg 将多项式拟合到实验数据 然而 我想拟合一个基于点误差使用加权的多项式 我已经发现scipy curve fit http docs scipy org doc scipy refe
  • Audiomanager 扬声器不工作

    我正在尝试在通话时启用扬声器 final AudioManager audioManager AudioManager context getSystemService Context AUDIO SERVICE audioManager
  • 带选项卡导航的标题 React 导航

    使用带有反应本机的选项卡导航器来设置带有页面标题的标题的最佳方法是什么 我知道有一种方法可以将 TabNavigator 包装在 StackNavigator 中 但我不明白如何使用不同类中的不同组件来执行此操作 这就是我设置 TabNav
  • git svn 工作流程 - 功能分支和合并

    我现在使用 git svn 和以下工作流程 git clone
  • 无法使用“无”覆盖背景颜色,只能使用“继承”

    我试图从 Windows 8 ListView 控件中的 win container 元素 图块 中删除白色背景 以使背景显示出来 当我追踪样式时 我可以看到白色背景是按照以下规则应用的 win listview not win footp
  • C 相当于 C++ decltype

    在我的 C 项目中 有一个由另一位同事创建的结构体 其中包含一些函数指针 struct tools int tool a int int int 我无权更改此结构和相关文件 现在我正在使用该结构进行编码 我必须定义一个函数 其返回类型和参数
  • 从命令行将消息放入 MQ 队列

    作为应用程序安装的一部分 我需要将一堆 xml 消息放入 MQ 队列中 为了使其更复杂 消息需要具有 RFH2 标头集的 usr 文件夹 我找到mqput2 exeIBM RFHUtil 是完成此任务的理想工具 不幸的是 我无法使 usr
  • Flink从hdfs读取数据

    我是 Flink 的新生 我想知道如何从 hdfs 读取数据 有人可以给我一些建议或一些简单的例子吗 谢谢你们 如果您的文件采用文本文件格式 则可以使用 ExecutionEnvironment 对象中的 readTextFile 方法 这
  • 本机 C++ 和 C# 互操作

    因此 我正在构建一个必须使用 C 工作的应用程序 但 MFC ATL 太混乱了 不符合我的喜好 所以我有了一个绝妙的主意 即用本机 C 编写所有 思考 代码 并用 C 编写所有漂亮的 UI 代码 但问题是两者之间的互操作性 在我对此过于着迷
  • 关闭模态视图控制器时如何保持呈现视图控制器的方向?

    我正在开发这个应用程序 我需要所有视图控制器 但只有一个是纵向的 单一视图控制器很特别 我需要它能够旋转到手机所在的任何方向 为此 我以模态方式呈现它 未嵌入导航控制器中 所以 例如 我的结构是这样的 window Portrait roo
  • 在 Jenkins 内运行构建时,我收到“java/lang/OutOfMemoryError”

    2020 02 25 10 11 24 986 0000 id 79 信息hudson model AsyncPeriodicWork lambda doRun 0 开始maven repo cleanup 2020 02 25 10 11
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • 带有 socket.io 的 Node.js 服务器可同时处理 50000 个客户端

    我们正在开发一个 Javascript 控件 它应该不断连接 到服务器以接收动画更新 我们计划将这些东西托管在亚马逊云上 场景是这样的 服务器连接到 activemq 队列等待更新 对于每个更新 它都会将其广播到所有连接的客户端 是否可以使
  • 重置输入控件的边框颜色 (HTML/Javascript)

    有谁知道使用 javascript 修改输入控件后如何重置它的边框颜色 通过突出显示其中包含不正确或无效数据的字段等来进行验证非常有用 例如 改变边框 document getElementById myinput style border
  • 从 XML 文件中读取值

    我在用XDocument为了加载 XML 文件 包含此内容 我正在尝试读取