如何解决使用节点XML解析器解析XLIFF
我正在尝试使用xml2js库解析XLIFF文件。一切正常,但是如果我有类似的内容:<source>Welcome to <x id="INTERPOLATION" equiv-text="{{ title }}"/> my friend</source>
,我会得到[{"_":"Welcome to my friend","x":[{"$":{"id":"INTERPOLATION","equiv-text":"{{ title }}"}}]}]
。我基本上是在减少句子部分的顺序。我希望得到一个由3部分组成的阵列:
"Welcome to "
[{"$":{"id":"INTERPOLATION","equiv-text":"{{ title }}"}}]
" my friend"
但是我却得到了:
"Welcome to my friend"
[{"$":{"id":"INTERPOLATION","equiv-text":"{{ title }}"}}]
如果我尝试再次重新创建字符串,我会得到<source>Welcome to my friend<x id="INTERPOLATION" equiv-text="{{ title }}"/></source>
有什么想法如何使用此XML解析器或其他解析器解决它吗?
解决方法
您可能还会喜欢txml。当像txml.parse(yourXMLString)
这样使用它时,您将得到一个这样的对象:
[
{
"tagName": "source","attributes": {},"children": [
"Welcome to ",{
"tagName": "x","attributes": {
"id": "INTERPOLATION","equiv-text": "{{ title }}"
},"children": []
}," my friend"
]
}
]
我认为它绝对符合您的需求。 source
中的三个孩子非常干净。而且,此解析器只有4kb的大小,并且不需要进行本机c编译,否则将在其他体系结构上运行您的应用程序时造成麻烦。
免责声明:我是txml的作者,这种观点可能不是客观的;-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。