我使用 < 正确吗?

Am I using &lt; correctly?

我是 HTML 和 Xpath 的新手,需要一些帮助。

我正在尝试使用 HTML 中的小于函数,但它一直出现错误。

value.singleNodeValue.setAttribute("select", "match[round &lT; '"+matchround+"']");

其中 round 是属性名称,matchround 是我要比较的用户输入。

有人可以强调我做错了什么,因为大于语句完美运行。

XML 中的常规实体和参数实体区分大小写

&lT;(大写 T,如您问题的代码中当前所示)与 &lt;.

不同

您的示例打算如何使用 XPath 也不是很清楚。看起来您只是在尝试使用与 XPath match() 函数几乎没有相似之处的字符串来设置名为 select 的属性。另请注意,match() 仅在 XPath 2.0 中可用。

您提出的问题的答案是您必须在 XML 中使用 &lt;(区分大小写)而不是文字 <,这样解析器就不会误认为 < 作为元素的开始。

您真正问题的答案将取决于您的 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 表达式,而不是实体引用。