【问题标题】:XML error: Prefix not bound to a namespace, KML fileXML 错误:前缀未绑定到命名空间、KML 文件
【发布时间】:2019-11-20 18:50:28
【问题描述】:

所以我正在尝试从我的老板那里修复一个 KML 文件。对于那些知道这些实际上只是 XML 文件的人,所以我正在处理我重命名为 XML 并使用 Firefox 验证的副本。我收到此错误:

XML 解析错误:前缀未绑定到命名空间位置: file:///home/user/Desktop/myplaces.broken-19-11-2019.xml 行号 942553,第 3 栏: <Document id="NEC" xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd">

我不是开发人员,但我已经有一段时间了。下面是有问题的留置权以及之前的 1 和之后的 1,以帮助提供上下文。我可以做些什么来帮助解决这个问题?

</Folder>
<Document id="NEC" xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd">
    <name>NEC</name>

这也是文件中的前几行,因为我已经看到那些可能是相关的:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>

【问题讨论】:

    标签: xml xml-parsing kml xml-namespaces


    【解决方案1】:

    必须定义 XML 命名空间前缀,例如 xsi:。

    简单添加

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    

    到您的 kml 元素以消除该错误:

    <kml xmlns="http://www.opengis.net/kml/2.2"
         xmlns:gx="http://www.google.com/kml/ext/2.2"
         xmlns:kml="http://www.opengis.net/kml/2.2" 
         xmlns:atom="http://www.w3.org/2005/Atom"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    

    【讨论】:

    • 你可能会在我头上说话。当您说将其添加到 KML 元素时,您的意思是它需要在 标记内是吗?
    • 不,像添加属性一样添加。答案已更新以显示位置。
    • 等等,我想通了。我将它粘贴到 行中。刷新和工作!谢谢!
    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多