gpt4 book ai didi

xml - 如何处理 sweet_xml 中的不区分大小写?

转载 作者:行者123 更新时间:2023-12-03 16:52:22 24 4
gpt4 key购买 nike

我正在使用 sweet_xml解析一些可能如下所示的 XML:

<ASX VERSION="3.0">
<ENTRY CLIENTSKIP="NO">
<TITLE>Item 1</TITLE>
<REF HREF="http://kexp-mp3-2.cac.washington.edu:8000/" />
</ENTRY>
</ASX>

我想要一个具有 title 的 map 列表和 file属性,后者是 hrefREF节点。我可以这样做:
SweetXml.xpath(file, ~x"//ENTRY"l, name: ~x"./TITLE/text()", file: ~x"./REF/@HREF")

但是,我想处理节点名称中的任何类型的大小写。例如, <Ref href... /><title>应该管用。

我想在不改变节点值的情况下做到这一点,所以我不能只是 String.downcase整个东西。

提前致谢。

最佳答案

正如 Jim Garrison 在评论中提到的,XML它本身是区分大小写的,这就是为什么任何库都不太可能提供开箱即用的解决方案。好消息是您希望保留节点值的大小写。这很简单:<> 中的所有内容可能被小写:

Regex.replace(~r|\<.*?\>|, input, fn x -> String.downcase(x) end) 

以上产生(省略无关部分):
#⇒                         ⇓ HERE
#⇒ "<asx version=...<title>Item 1</title>...</asx>"

关于xml - 如何处理 sweet_xml 中的不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40796082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com