-1

我使用的 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。

4

1 回答 1

3

简短的回答是,如果您将此 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/dateand的元素http://purl.org/dc/elements/1.1/language。您真的不想对其进行任何修改,因为这些 URI 提供了这些元素的含义。由于:URI 实际上不是命名元素的结果 URI 的一部分,因此谈论替换:元素的名称是没有意义的,因为它从一开始就没有。

如果您真的想丢弃所有语义信息,当然可以使用 XML 处理库来读取您拥有的 XML,并编写新的 XML 将所有内容替换http://purl.org/dc/elements/1.1/language为一个dc_language元素,但是很难看到该实用程序在那里面。

于 2013-06-07T13:17:59.907 回答