微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Node.js解析XML时保留HTML内容

如何解决使用Node.js解析XML时保留HTML内容

我正在尝试解析其中一个节点中包含html的第三方提供的XML文件,并避免解析html(不幸的是,它没有包装在CDATA中)。例如:

<?xml version="1.0" encoding="iso-8859-1"?>
<News>
<Keywords>[..]</Keywords>
<Title>[..]</title>
<Body>
<Body.Content>[BODY_CONTENT_IN_HTML]</Body.Content>
</Body>
</News
</xml>

尝试将正文内容保留为html字符串。我尝试了xml2js,但是它解析了html,并且如果我尝试为该节点将其反向,则不会得到相同的html。有谁知道我怎么能做到这一点(解析xml对象的其余部分,但将body.content节点的内容作为文本检索)?谢谢。

解决方法

您可以尝试将xml当作字符串并将其拆分,直到提取html。

例如:

let str = `<?xml version="1.0" encoding="iso-8859-1"?>
<News>
<Keywords>[..]</Keywords>
<Title>[..]</title>
<Body>
<Body.Content><html><body>Hello,world!</body></html></Body.Content>
</Body>
</News
</xml>
`;
let target = str.split('Content>')[1].split('</Body')[0];
console.log(target);

输出:

<html><body>Hello,world!</body></html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。