我使用 < 正确吗?
Am I using < correctly?
我是 HTML 和 Xpath 的新手,需要一些帮助。
我正在尝试使用 HTML 中的小于函数,但它一直出现错误。
value.singleNodeValue.setAttribute("select", "match[round &lT; '"+matchround+"']");
其中 round
是属性名称,matchround
是我要比较的用户输入。
有人可以强调我做错了什么,因为大于语句完美运行。
XML 中的常规实体和参数实体区分大小写。
&lT;
(大写 T
,如您问题的代码中当前所示)与 <
.
不同
您的示例打算如何使用 XPath 也不是很清楚。看起来您只是在尝试使用与 XPath match()
函数几乎没有相似之处的字符串来设置名为 select
的属性。另请注意,match()
仅在 XPath 2.0 中可用。
您提出的问题的答案是您必须在 XML 中使用 <
(区分大小写)而不是文字 <
,这样解析器就不会误认为 <
作为元素的开始。
您真正问题的答案将取决于您的 clarification of what your true end goal is。
你想做什么样的比较,matchround
有什么样的价值?是字符串还是数字? XPath 1.0 不支持小于或大于字符串值的比较,仅支持数字比较。你说 round
是一个属性名,因为在 XPath 中你需要 @round
。因此,如果 matchround
是一个数字(例如 50),那么执行 setAttribute("select", "match[@round < " + matchround + "]")
将创建一个以 XPath 表达式 match[@round < 50]
作为其值的属性。仅当 DOM 树被序列化时才会发生任何转义,DOM 中的属性值将包含具有 <
字符的纯 XPath 表达式,而不是实体引用。
我是 HTML 和 Xpath 的新手,需要一些帮助。
我正在尝试使用 HTML 中的小于函数,但它一直出现错误。
value.singleNodeValue.setAttribute("select", "match[round &lT; '"+matchround+"']");
其中 round
是属性名称,matchround
是我要比较的用户输入。
有人可以强调我做错了什么,因为大于语句完美运行。
XML 中的常规实体和参数实体区分大小写。
&lT;
(大写 T
,如您问题的代码中当前所示)与 <
.
您的示例打算如何使用 XPath 也不是很清楚。看起来您只是在尝试使用与 XPath match()
函数几乎没有相似之处的字符串来设置名为 select
的属性。另请注意,match()
仅在 XPath 2.0 中可用。
您提出的问题的答案是您必须在 XML 中使用 <
(区分大小写)而不是文字 <
,这样解析器就不会误认为 <
作为元素的开始。
您真正问题的答案将取决于您的 clarification of what your true end goal is。
你想做什么样的比较,matchround
有什么样的价值?是字符串还是数字? XPath 1.0 不支持小于或大于字符串值的比较,仅支持数字比较。你说 round
是一个属性名,因为在 XPath 中你需要 @round
。因此,如果 matchround
是一个数字(例如 50),那么执行 setAttribute("select", "match[@round < " + matchround + "]")
将创建一个以 XPath 表达式 match[@round < 50]
作为其值的属性。仅当 DOM 树被序列化时才会发生任何转义,DOM 中的属性值将包含具有 <
字符的纯 XPath 表达式,而不是实体引用。