xpath中有split函数吗?

2024-01-12

我正在尝试从节点中分割文本<extra>text1|text2|text3|text4</extra>分成四个部分“|”作为分隔符并重建4个新节点,如下所示。

<g:test1>text1</g:test1>
<g:test2>text2</g:test2>
<g:test3>text3</g:test3>
<g:test4>text4</g:test4>

这是我的代码,显然不起作用,但应该解释我想要做什么。

<%
Dim objXML, x

Set objXML = CreateObject("MSXML2.DOMDocument")
objXML.async = False
objXML.setProperty "ServerHTTPRequest", True
objXML.Load "http://www.thesite.com/v/myxml.xml"
objXML.setProperty "SelectionLanguage", "XPath"

Dim xmldoc: set xmldoc = CreateObject("MSXML2.DomDocument")
xmldoc.async = false

Dim instruction
Set instruction = xmldoc.createProcessingInstruction("xml", "version=""1.0""  encoding=""UTF-8"" standalone=""yes""")
xmldoc.appendChild instruction 

Dim rss: set rss = xmldoc.createElement("rss")
xmldoc.appendChild rss

Dim itemNode2: Set itemNode2 = xmldoc.selectSingleNode(".//rss")
Dim name: Set name = xmldoc.createAttribute("xmlns:g") 
name.Value = "http://base.google.com/ns/1.0" 
itemNode2.attributes.setNamedItem(name)

Dim itemNode: Set itemNode = xmldoc.selectSingleNode(".//rss")
Dim version: Set version = xmldoc.createAttribute("version") 
version.Value = "2.0" 
itemNode.attributes.setNamedItem(version)
Dim channel: set channel = xmldoc.createElement("channel")
rss.appendChild channel

For Each x In objXML.documentElement.selectNodes(".//SAVED_EXPORT")
  Dim item: set item = xmldoc.createElement("item")
  channel.appendChild item

  Dim str1: Set str1 = x.selectSingleNode("extra")
  Dim gstrarray
  gstrarray = split(str1.text,"|")

  Dim gstr1: set gstr1 = xmldoc.createElement("g:test1")
  gstr1.text =gstrarry(0)
  item.appendChild gstr1
  Dim gstr2: set gstr2 = xmldoc.createElement("g:test2")
  gstr2.text =gstrarry(1)
  item.appendChild gstr2
  Dim gstr3: set gstr3 = xmldoc.createElement("g:test3")
  gstr3.text =gstrarry(2)
  item.appendChild gstr3
  Dim gstr4: set gstr4 = xmldoc.createElement("g:test4")
  gstr4.text =gstrarry(3)
  item.appendChild gstr4
Next
Response.Write xmldoc.xml
%>

没有一个split()XPath 1.0 中的(或等效)函数.

有一个tokenize() http://www.w3.org/TR/xpath-functions/#func-tokenizeXPath 2.0 中的函数。

可以使用 XSLT 1.0 实现拆分功能——有几个问题好的答案 https://stackoverflow.com/questions/7425071/split-function-in-xslt-1-0/7425600#7425600在 xslt 标签中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xpath中有split函数吗? 的相关文章

  • XML 创建 - 错误:带有替代方案的重载方法构造函数 UnprefixedAttribute

    scala gt val count 7 count Int 7 将其放入 XML 属性中会出现错误 scala gt val x
  • 如何去除 XSL 中字符的重音符号?

    我一直在寻找 但找不到相当于字符 规范化空间 的 XSL 函数 也就是说 我的内容带有重音 UNICODE 字符 这很好 但是从该内容中 我正在创建一个文件名 但我不想要这些重音 那么 是否有一些我忽略的东西 或者没有正确地谷歌搜索来轻松处
  • JSPX 命名空间对于 EL 函数不可见?

    我正在尝试使用 JSPX JSP 的纯 XML 语法 并遇到看起来应该可以工作但实际上却不起作用的情况 我使用 jsp root 元素中的命名空间声明导入标签库 然后稍后将这些用于元素以及 EL 函数
  • XPath JMeter 断言:错误“前缀必须解析为命名空间”

    我正在尝试使用JMeter XPath 断言 https jmeter apache org usermanual component reference html XPath Assertion使用 XPath 断言命令对标签值进行如下操
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • 如何从下面的html中提取数据?

    我想要从中提取数据的 Html 是 div class infoMessageInner p span class ng binding Fiber r best lld till adressen Tj nsterna kan du be
  • 如何使用 xpath 检查某个对象在网页中是否可见?

    我正在 R 中使用 RSelenium 包来进行网络抓取 有时加载网页后 需要检查某个对象在网页中是否可见 例如 library RSelenium open a browser RSelenium startServer remDr lt
  • 经典的asp字符编码

    我在经典 asp 网站中遇到西班牙字符问题 用户可以在 aspx 页面上的表单中提交他们的姓名 地址 然后 aspx 页面将 ajax post 发送到经典的 asp 页面 它所做的所有操作都存储在我们的 Sql 2008 DB 中 我可以
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 在 Android 中存储和访问 XML 的最佳方式是什么?

    虽然我意识到资源本身是在 XML 文件中定义的 但如果我有一个我希望使用的自己类型的 XML 文件 我是否应该将它们存储在 res xml 中 有没有更好的方法来做到这一点 例如使用资产 然后将它们加载为二进制文件以供另一个 XML 库解析
  • XSLT:选择与其他示例不同但略有不同的

    我有以下 XML a b b a
  • JAXB 不会解组接口列表

    看来 JAXB 无法读取它所写的内容 考虑以下代码 interface IFoo void jump XmlRootElement class Bar implements IFoo XmlElement public String y p
  • 将 LINQ 嵌套到 XML

    我有一些来自遗留应用程序的非标准 XML
  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu
  • 合并xml文档

    我遇到的所有关于合并 XML 文档的解决方案都无法实现我的愿望 让我解释 XML 文档 1 a b title Original Section b title Original Child Section b b title Origin
  • rvest 函数 html_nodes 返回 {xml_nodeset (0)}

    我正在尝试抓取以下网站的数据框 http stats nba com game 0041700404 playbyplay http stats nba com game 0041700404 playbyplay 我想创建一个表格 其中包
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 捕获 Unicode 文本(西里尔文)并将其插入 MS Access 数据库

    我继承了一个旧的 Web 应用程序 该应用程序使用经典 ASP 将表单中收集的数据写入 Access 2007 数据库 现在他们需要它能够收集西里尔字母的输入 我完全不熟悉代码页 字符集 也不熟悉非拉丁字母 我尝试将输入表单页面上的字符集更

随机推荐