gpt4 book ai didi

xml - 使用 sed 删除 namespace 前缀

转载 作者:数据小太阳 更新时间:2023-10-29 03:00:43 25 4
gpt4 key购买 nike

我要转换这段xml:

<v1:table>
<v1:tr>
<v1:td>Apples</v1:td>
<v1:td>Bananas</v1:td>
</v1:tr>
</v1:table>

通过删除 namespace 前缀(即 v1)进入以下内容,并使用 sed 获取以下内容:

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

这可能吗?

编辑:我还想声明 xml 保存在一个文件中。

最佳答案

下面是如何使用来自 W3C HTML-XML-utilshxpipehxunpipe 来实现的( packaged for many distributions ):

$ hxpipe infile | sed 's/^\([()]\)v1:/\1/g' | hxunpipe
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

hxpipe 解析 XML/HTML 并将其转换为 awk/sed 友好的基于行的格式:

$ hxpipe infile
(v1:table
-\n
(v1:tr
-\n
(v1:td
-Apples
)v1:td
-\n
(v1:td
-Bananas
)v1:td
-\n
)v1:tr
-\n
)v1:table
-\n

() 开头的行是开始和结束标记,因此从以 开头的行中删除第一个 v1: ()(上面的 sed 命令所做的)达到了预期的效果。请注意,文本行以 - 开头,因此不会有任何误报。

关于xml - 使用 sed 删除 namespace 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41335076/

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