嗨,下面是我的XML文件。
xml prettyprint-override"><print>
<part keyName="logo" fontName="" fontSize="" fontColor="" bold="" italic="" underline="" maxWidth="45" textAlign="center" isBarcode="" isImage="true">
<logo>testimg.jpg</logo>
</part>
<part keyName="header" fontName="" fontSize="" fontColor="" bold="" italic="" underline="" maxWidth="45" textAlign="center" isBarcode="" isImage="">
<SpaceSep>0</SpaceSep>
<LineSep>1</LineSep>
<text fontSize="20">Tax Invoice</text>
<LineSep>1</LineSep>
<text>Test Pvt Ltd</text>
<LineSep>1</LineSep>
<address/>
<area/>
<city/>
<state/>
<pin/>
<country/>
<LineSep>1</LineSep>
<text>Phone: </text>
<phone></phone>
<LineSep>1</LineSep>
<text>GSTIN: </text>
<gstIn></gstIn>
<LineSep>1</LineSep>
</part>
</print>
上面的XML文件包含父根作为打印,子节点作为一部分。我想在C#中读取子节点及其属性。若XML文件包含唯一的节点名,那个么我可以读取它们。但如果所有子节点都包含相同的节点名,那么我们如何读取它们呢。
如果我很理解你的问题,你应该这样做:
//...
using System.Linq;
using System.Xml.Linq;
//...
XDocument doc = XDocument.Load(@"C:\directory\file.xml");
IEnumerable<XElement> partElements = doc.Root.Elements("part");
foreach (XElement partElement in partElements)
{
// read attribute value
string keyName = partElement.Attribute("keyName")?.Value;
//...
// iterate through childnodes
foreach (XElement partChildElement in partElement.Elements())
{
// check the name
if (partChildElement.Name == "SpaceSep")
{
int value = (int)partChildElement; // casting from element to its [int] content
// do stuff for <SpaceSep> element
}
else if (partChildElement.Name == "text")
{
string text = (string)partChildElement; // casting from element to its [string] content
// do stuff for <text> element
}
// and so on for all possible node name
}
}
问题内容: 我有一个看起来像这样的xml: 在这里,我想检索类型为属性的“源类型”的值。 我曾这样尝试过,但无法正常工作: 我也尝试过这个: 请帮助我!! 在此先感谢Varsha。 问题答案: 由于您的问题较为笼统,请尝试使用Java中提供的XML解析器来实现。如果您特定于解析器,请在此处更新您尝试过的代码
问题内容: 我正在尝试读取xml文件,例如: 这是我到目前为止的代码: 这是我尝试编写此代码的尝试,怎么说都不成功,这就是我开始赏金的原因。这是http://pastebin.com/huKP4KED。 赏金更新: 我确实真的尝试了好几天,但现在没想到会这么难,我会接受有用的链接/书籍/教程,但更喜欢代码,因为我昨天需要这样做。 这是我需要的: 关于上面的xml: 我需要获取标题ID的值 temp
我需要添加一个maven配置文件,当激活时,将一些规则插入maven-shade-plugin重定位部分,因此我在配置文件中添加了一个属性: 并使用${cdh.hive.removation}将其注入到插件配置中:
如何能够基于另一个同级节点的属性选择节点属性?我想要实现的是从所有节点中提取链接(href值),这些节点后跟具有属性class=“body table news loss”的节点跨度,即选择器应该返回https://finance.yahoo.com/news/inspiremd-announces-planned-recapitalization-120000752.html在下面的示例中。我试
在本章中,将学习如何获取XML DOM对象的节点值。 XML文档具有称为节点的信息单元的层次结构。 对象有一个属性 - ,它返回元素的值。 在以下部分中,将讨论学习 - 获取元素的节点值 获取节点的属性值 以下所有示例中使用的node.xml如下所示 - 1. 获取节点值 使用方法以文档顺序返回具有给定标记名称的所有元素的。 示例 以下示例(getnode example.html)将XML文档(
我想从RSS提要中读出一个带有简单XML的特定属性。 项目示例: 我想阅读媒体中的网址:内容。 读取我使用的其他标记:$xml- 读取我尝试的媒体url属性:$xml- 但这只是返回NULL。它与内容有关,内容是一个名称空间。