Xml 将字符串联接的结果类型转换为节点列表
我需要处理对XPath表达式求值的遗留代码,希望结果解析为NodeList。代码使用NodeList来标识XPath表达式选择了多少个节点。仅当选择了一个节点时,代码才会继续Xml 将字符串联接的结果类型转换为节点列表,xml,string,xpath,jaxp,nodelist,Xml,String,Xpath,Jaxp,Nodelist,我需要处理对XPath表达式求值的遗留代码,希望结果解析为NodeList。代码使用NodeList来标识XPath表达式选择了多少个节点。仅当选择了一个节点时,代码才会继续 现在我需要使用字符串连接函数,返回类型为字符串。是否有任何方法可以使用另一个XPath函数将字符串转换为节点列表?理想情况下,它会将字符串转换为一个节点列表,其中一个元素的文本内容将是字符串值。我尝试了exsl:node-set(),但没有成功(Saxon-HE处理器)。XPath(甚至2.0)无法创建新节点,因为您需要X
现在我需要使用字符串连接函数,返回类型为字符串。是否有任何方法可以使用另一个XPath函数将字符串转换为节点列表?理想情况下,它会将字符串转换为一个节点列表,其中一个元素的文本内容将是字符串值。我尝试了exsl:node-set(),但没有成功(Saxon-HE处理器)。XPath(甚至2.0)无法创建新节点,因为您需要XQuery或XSLT。Saxon支持这两种方法,因此您可以选择 XPath(甚至2.0)无法创建新节点,因此需要XQuery或XSLT。Saxon支持这两种方法,因此您可以选择 我建议在Saxon XPath API周围放置一个Java层,并在此Java层中进行字符串到节点列表的转换。您的Java层可以实现JAXP XPath接口,从而“假装”成为真正的XPath引擎。我建议在Saxon XPath API周围放置一个Java层,并在此Java层中进行字符串到节点列表的转换。Java层可以实现JAXP XPath接口,从而“假装”成为真正的XPath引擎 有没有办法使用另一个XPath将字符串转换为节点列表 功能 不,XPath只是XML文档的查询语言——它不创建节点 如果旧代码希望XPath表达式的计算结果为节点列表,而XPath表达式的计算结果只是一个字符串,那么要在不编写新代码的情况下重用旧代码,必须更改XPath表达式,以便它选择一个或多个节点 或者,编写自己的代码,使用XPath表达式的计算结果 有没有办法使用另一个XPath将字符串转换为节点列表 功能 不,XPath只是XML文档的查询语言——它不创建节点 如果旧代码希望XPath表达式的计算结果为节点列表,而XPath表达式的计算结果只是一个字符串,那么要在不编写新代码的情况下重用旧代码,必须更改XPath表达式,以便它选择一个或多个节点
或者,编写您自己的代码,使用XPath表达式的计算结果。您可以在问题的上下文中为我展示一些示例吗?如果您向我展示您的输入和所需的输出,我可以帮助您使用XSLT。我对JAXP不太熟悉,因此无法就此向您提供建议。Saxon附带了一个很好的文档,因此您可能希望从这里开始。它们从文档(包括不同类型的脚本)中读取,并使用JAXP(XPathFactory、XPath、XPathExpression等)进行评估。那么saxon:node-set()/exsl:node-set()呢?我需要Saxon EE来处理它们吗?exsl:node set获取一个结果树片段(无论如何,只能作为XSLT的结果获得,不能使用纯XPath)并将其转换为节点集。从基元值创建节点没有帮助。我理解。看来无论如何我都需要修改代码。我想先将XPath表达式作为节点列表进行计算,如果出现异常,我将尝试将其作为字符串进行计算。如果仍然存在异常,则表示XPath表达式本身存在问题,并将异常传播到相应的处理程序。请在问题的上下文中向我展示一些示例,好吗?如果您向我展示您的输入和所需的输出,我可以帮助您使用XSLT。我对JAXP不太熟悉,因此无法就此向您提供建议。Saxon附带了一个很好的文档,因此您可能希望从这里开始。它们从文档(包括不同类型的脚本)中读取,并使用JAXP(XPathFactory、XPath、XPathExpression等)进行评估。那么saxon:node-set()/exsl:node-set()呢?我需要Saxon EE来处理它们吗?exsl:node set获取一个结果树片段(无论如何,只能作为XSLT的结果获得,不能使用纯XPath)并将其转换为节点集。从基元值创建节点没有帮助。我理解。看来无论如何我都需要修改代码。我想先将XPath表达式作为节点列表进行计算,如果出现异常,我将尝试将其作为字符串进行计算。如果仍然存在异常,则意味着XPath表达式本身存在问题,并将异常传播到相应的处理程序。我想除了字符串连接函数之外,没有其他方法可以连接元素并返回节点列表,其中第一个元素是结果。否则,就会很尴尬。我将坚持修改代码,正如我在上一篇评论中所描述的。我想没有其他的字符串连接函数可以连接元素并返回节点列表,其中第一个元素是结果。否则,就会很尴尬。我将坚持修改代码,正如我在前面的评论中所描述的那样。