问题标签 [selectnodes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 需要 Xml 元素 SelectNodes 帮助 - C#
我是 XML 解析的新手。如果有人可以用简单的话解释一下,将从下面的语句中选择什么样的子节点?
提前致谢
asp.net - ASP.NET 根据子元素中的属性值选择 XML 节点
我正在尝试遍历下面的 XML,并找到entry
底层category
元素具有collection
thrterm
属性值的所有元素。以下示例中有 2 个。然后对于那些获取元素href
属性的值。link
但是,我似乎找不到正确的选择器:
到目前为止,这是我的代码,但即使data
变量包含上面的 XML,该nodeList.Count
行也会返回 0 个结果:
更新 1
我想选择所有具有类别节点的“条目”元素term=collection
。该部分通过以下语句起作用:indexXML.SelectNodes("/atom:feed/atom:entry[atom:category/@term=""collection""]", mgr)
我想从入口节点开始,然后我想选择入口的子元素链接的 href 属性(以及将来的其他子元素entry
。但是,我在下面尝试的示例都没有返回href
属性的值。如何我可以解决吗?
我现在有这个:
更新 2
感谢@Pawel,我能够选择所有entry
节点作为节点属性的project
值,如下所示:term
category
但是,如何向此选择器添加额外的标准以过滤掉entry
具有值NBvh
ORBBvh
的节点mcp:projectScenario
?
更新 3 我向管理器添加了一个额外的命名空间:
但是当我尝试href
通过 uuid 选择媒体元素的属性时,我得到了错误:Object reference not set to an instance of an object.
我的代码:
xml - 当主数据和明细是 XML 中的单独数据集时的 XML 主/明细数据选择
请假设以下实际 XML 结构(不,我们无法更改)。
首先,我们对 XML 执行 XPath 查询以返回可能的详细记录列表:
然后我们在返回 XML 节点列表中处理每个返回的详细记录,此时我们只需要使用 XPath 表达式根据详细节点中的 MasterID 获取主记录的值。我们不想使用应用程序代码来检索当前记录的 MasterID,然后根据检索到的值创建 XPath 表达式
示例(不是这样的)
示例(首选方式)
XPath中的?MasterID?
表达式应该返回当前详细节点的 MasterID 值。
这甚至可能使用纯 XPath 表达式......?
编辑 注意:我需要使用 MSXML DOM 来完成这项工作......
c# - C# Linq2XML 从子元素值中获取父属性
我结束了我的最后一个问题,因为有人评论说没有进行足够的研究。我研究得越多,我就越困惑。我认为在我的理解和从这里和其他地方的帖子中应该起作用的东西是行不通的。
我正在尝试获取具有带有“文件”值的 base_class 子级的类模式节点的名称属性。所以结果应该是“Tapestry”和“Document”
我可以轻松地返回所有类模式节点
我可以通过像这样循环遍历所有 base_class 节点来获取 base_class 值 = 到“文件”。
但是如果我尝试过滤或使用轴来引用子节点的父节点,我将失败。
我的过滤工作的一个示例基于 SelectNodes 方法。
foreach(xmlDoc.SelectNodes 中的 XmlNode 节点(“//DAV:schema/DAV:classschema[/DAV:base_class=='File']”, nsmgr))
连同我所见过的许多其他变体示例,很难判断它是 LINQ2XML 还是 XDocument,并且混入 PHP 或其他并不总是指定的语言中,我现在被吓到了。
我的下一个尝试将是 SelectNodes("//DAV:schemata/DAV:classschemata[/DAV:baseclass(contains,'File')]"@name,nsmgr); 及其变化。
我从其他示例中认为,它们正是我想要的,但是在实施时不起作用,原因我无法解释。
xml - 无法选择元素节点,但只能选择属性 .VBA -XML
我有来自 IPC1752 模式的 XML,我必须根据我的 excel 数据表填充值。所以我必须做这些事情
1.将 XML 加载到我的 VBA 2.将 XML 中的所需值更改为我存储在 excel 单元格中的值 3.将修改后的 XML 保存到文件夹
'Sub UpdateXML() 调用 fnUpdateXMLByTags End Sub
函数 fnUpdateXMLByTags() 将 mainWorkBook 调暗为工作簿 将 wrsht 调暗为工作表
在这里,当我使用 selectnodes(attributes) 时,它的工作 [example:oXMLFile.SelectNodes("//@itemName")]
但是当我使用 selectnodes(elements) [example:oXMLFile.SelectNodes("//Substance")] 时不起作用
请帮忙。
c# - 使用 RemoveChild() 删除孩子
我的 XML 数据库:
有人可以告诉我如何删除整条记录吗?(index, brand,year,price,mileage) 我知道我应该使用 RemoveChild() 但我做不到。
提前谢谢各位!
html - 如何使用 R 从 HTML 的“选择”字段的每个“选项”中抓取所有内容?
我正在尝试使用rvest
包来抓取网站。
此链接将用作示例:https ://www.globalinnovationindex.org/analysis-indicator
目标是从所有年份 (select id="ctl29_lstYear") 和所有索引 (select id="ctl29_lstIndex") 中抓取表格。我已经有一个块可以抓取和格式化这些表格并将它们变成列表(是的......它们不是 html <table>
),但我不能使用follow_link()
或set_values()
浏览年份和索引的选项,并将它们全部抓取.
让我们在这个例子中使用一对“选项”(year="2013" and index="Innovation Efficiency Ratio"):
所以,我查看了rvest::set_values()
文档,发现了这个例子:
然后我尝试了这个:
为什么在我要修改的字段名称后出现“=”是出乎意料的?是set_values()
解决此类问题的最佳选择吗?
html - Htmlagilitypack - 从同一行读取两个不同的节点并将它们添加到列表视图
我正在尝试使用 (span class=text) 从列表中获取所有参与者名称值,以及使用 (class=contenu) 获取他们的短名称值,并将它们添加到列表视图项目的不同列中,该列将显示为与网页类似. 用户可以看到参与者的全名,也可以单击个人参与者品牌(简称)以获取更多详细信息。
尽量简化问题;
这是整页中显示参与者姓名及其品牌的部分(其中一些有一个,另一些有两个、三个或四个)
如下所示;Mekar srl(参与者名称)有 4 个不同的品牌,用逗号分隔(Eden、Mekar VENCO、Venticlima)
MEKAR srl (伊甸园, MEKAR, VENCO, VENTILCLIMA)
但其中一些只有一个;
像下面的例子; Menegra Gmbh(参与者名称)只有一个品牌,即 Menegra MENERGA GmbH(Menerga)
所以我会尝试将这些数据与页面几乎相同的逻辑写入列表视图;
第一列将列出参与者姓名,并在第二列与同一行列出品牌名称(或者如果多于一列,则在同一行的第三列和第四列)
无论从列表视图中,我都需要了解保存从网页获取的数据以记录在数组类型字符串中并稍后在列表视图中显示它们。
使用上面的代码,我连续读取所有节点并丢失了它们之间的关系(例如具有多个品牌的参与者名称)
希望这个声明会更清楚,我也希望再次得到更多的支持
问候
阿里
c# - 我的 Foreach 循环遍历主节点下的子节点列表,并且只选择第一个节点
我正在尝试遍历主节点下的 ChildNodes 列表,并且我在 XMLNodeList 中有 ChildNodes 列表。我已经成功地循环了它,那部分代码可以工作,但它只会选择 NodeList 的第一个节点,因为我正在使用 SelectSingleNode。我需要解决这个问题,循环遍历 NodeList 中的每个 XML 节点并从中选择一些子属性。我在浏览每个节点时尝试删除它,但没有成功,我稍微研究了 SelectNodes,但它们都具有相同的名称;唯一真正的区别是日期。有什么建议么?
代码:
CompanyName 变量来自另一个地方,它工作正常。e 我删除了 XPath 表达式,因为它包含一些私人信息。如果有必要,我可以把它们放回去。XML:
尝试遍历每个事务并将其添加到表中。它只会选择第一个。
c# - 如何从 h4 获取此文本?
(对不起我的英语,我是巴西人)
我正在尝试使用 HtmlAgilityPack 从 h4 标签中获取 InnerText,我设法在我需要的网站的 4 个标签中的 3 个中获得了该类型的值。但最后一个是最重要的,它只返回一个空值。
是否有可能,网站的构建结构需要不同的方式来获得这个值?
这是我试图提取 InnetText 的特定 h4(“356.386.496,02”):
我试过这个:
请注意,SelectNodes 方法不返回 null,它完美地找到了 h4 节点,但 InnerText 的值为“”。