xml - 在Elixir中获取XML中没有文本值的元素

标签 xml xpath elixir

我正在尝试使用SweetXML库解析以下XML文档。

<A>
    <B>23</B>
    <B>34</B>
    <B></B>
</A>


但是,当我尝试使用以下文档分析文档时:xpath(~x"/A/B/text()"l)
我得到响应['23', '34']。无论如何,对于没有文本的元素,我可以获得具有nil值的列表吗?我期望的响应是:['23', '34', nil]

最佳答案

我认为您想使用可选的映射:

xpath(xml, ~x"//A/B"l, number: ~x"text()")
|> Enum.map(fn %{number: number} -> number end)


输出:

['23', '34', nil]

关于xml - 在Elixir中获取XML中没有文本值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55315236/

相关文章:

testing - Elixir - 如何在 doctest 中使用别名?

erlang - 有什么方法可以浏览 erlang 术语存储 (ETS)

java - 非类型化元素的 JAXB 自定义绑定(bind)?

javascript - 使用 Javascript 解析 XML(在 Google Scripts 中)

python - etree xml解析和删除

browser - 我的浏览器支持 Xpath 吗?

python - 带有 lxml 的 Xpath 返回空字符串,selenium 工作正常

elixir - Elixir 应用中有多个主管

html - 在Delphi中解析HTML找到所有图片的地址

sql-server - 在 SQL Server 中选择 XML 元素