我在JAVA项目中将XPATH 1.0解析器与CLiXML一起使用,我试图设置CLiXML约束规则文件。
如果特定子项下的元素名称重复,我想显示一个错误。
例如
<parentNode version="1">
<childA version="1">
<ignoredChild/>
</childA>
<childB version="1">
<ignoredChild/>
</childB>
<childC version="4">
<ignoredChild/>
</childC>
<childA version="2">
<ignoredChild/>
</childA>
<childD version="6">
<ignoredChild/>
</childD>
</parentNode>
childA出现不止一次,因此我将显示一个错误。
注意:我只想“检查/计数”元素名称,而不是元素内部的属性或元素的子元素。
我尝试过的.clx规则文件中的代码是:
<forall var="elem1" in=".//parentNode/*">
<equal op1="count(.//parentNode/$elem1)" op2="1"/>
</forall>
但这不起作用,我得到了错误:
Caused by: class org.jaxen.saxpath.XPathSyntaxException: count(.//PLC-Mapping/*/$classCount: 23: Expected one of '.', '..', '@', '*', <QName>
因为我希望代码检查每个子名称,并使用该子名称的名称运行另一个xPath查询-如果计数大于1,则应该给出错误。
有任何想法吗?
只需尝试获取具有适当路径表达式的子节点列表,然后检查该列表中是否存在重复项即可:
XPathExpression xPathExpression = xPath.compile("//parentNode/*");
NodeList children = (NodeList) xPathExpression.evaluate(config, XPathConstants.NODESET);
for (int i = 0; i < children.getLength(); i++) {
// maintain hashset of clients here and check if element is already there
}
我试图列出整数列表中的重复元素,例如, 使用jdk 8的流。有人试过吗?要删除重复项,我们可以使用distinct() api。但是如何找到重复的元素呢?有人能帮我吗?
我正在编写一个Python程序,该程序使用Selenium导航到高级搜索页面上的搜索框中并在搜索框中输入信息。本网站使用 Javascript,每次加载网站时,每个搜索框的 ID 和名称都会略有变化,但类名保持不变。类名经常被重用,所以我的目标是使用然后通过该列表编制索引。 例如,一个框的类名是 ,但我不能使用它,因为 selenium 认为它是一个复合类名并抛出一个错误。如果我只使用它的一部分,
问题内容: 是否可以通过名称来在页面上查找JavaScript变量(将其作为对象)?变量名可用作字符串常量。 问题答案:
问题内容: 我从查询中得到以下结果,并在plsql块中浏览记录并向客户发送send_email。 匿名块 我想知道最好的方法是重复查询结果,而不是发送多封电子邮件,而是发送一封包含相关详细信息的电子邮件。例如,在上述情况下SMITH重复两次,所以用上面的方法将史密斯拿到两封电子邮件,而不是我想发一封电子邮件与和 我怎样才能做到这一点? 问题答案: 为此,请不要在PL / SQL的循环内进行循环-使
问题内容: xml文件包含两个元素。除了一个元素名称外,这些元素具有相同的结构。我试图为XMLName属性设置一个值,但这没有用。 Xml: 是否可以定义一个结构使得元素名称是动态的? 问题答案: 在文档中,该字段必须为类型。 通过以下字段设置元素名称: (此外,必须导出E1-E4才能包含在XML输出中)。 游乐场示例:http://play.golang.org/p/bzSutFF9Bo