我使用的 XML 你可以在这里找到: http ://www.politie.nl/rss/ab/gemeenten/zuid-holland/rotterdam.xml 。
问题是有很多带有:
. 我们想用:
替换_
。rdf:about
, dc:date
, , 之类的标签rdf:resources
应该变成rdf_about
, dc_date
, 和rdf_resources
。
我们正在使用 PHP 和 simplexml。
简短的回答是,如果您将此 XML 作为 XML 使用,那么您真的不应该尝试这样做。XML QName是一个URI,它是通过连接与前缀(之前的部分:
)和本地名称(之后的部分)关联的命名空间而构造的:
。这意味着当您看到类似以下的 XML 时:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
version="2.0">
<channel>
<dc:date>2013-06-07T13:02:42Z</dc:date>
<dc:language>nl</dc:language>
您有一个名为的元素,rss
其中包含一个名为channel
的元素,其中包含名为http://purl.org/dc/elements/1.1/date
and的元素http://purl.org/dc/elements/1.1/language
。您真的不想对其进行任何修改,因为这些 URI 提供了这些元素的含义。由于:
URI 实际上不是命名元素的结果 URI 的一部分,因此谈论替换:
元素的名称是没有意义的,因为它从一开始就没有。
如果您真的想丢弃所有语义信息,当然可以使用 XML 处理库来读取您拥有的 XML,并编写新的 XML 将所有内容替换http://purl.org/dc/elements/1.1/language
为一个dc_language
元素,但是很难看到该实用程序在那里面。