java - 从 XML 文件获取架构位置 (noNamespaceSchemaLocation)

标签 java sax

我们正在使用 SAX 解析器解析 XML 文件。是否可以从 XML 中获取架构位置?

<view id="..." title="..."
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="{schema}">

我想从 XML 中检索 {schema} 值。这可能吗?如何访问 noNamespaceSchemaLocation 的这个值?我正在使用默认的 SAX 解析器。

@Override
public void startElement(String uri, String localName, 
                         String name, Attributes attributes)
{ .... }

谢谢。

最佳答案

这完全取决于您正在使用的工具/库类型(基本的 SAXParser?Xerces?JDom?...)但是您想要的是由 URI“http://www.w3.org/2001/XMLSchema-instance”定义的命名空间中属性“noNamespaceSchemaLocation”的值

在 JDom 中,它会是这样的:

Element view = ...; // get the view element
String value = view.getAttributeValue("noNamespaceSchemaLocation", Namespace.getNamespace("http://www.w3.org/2001/XMLSchema-instance"));

关于java - 从 XML 文件获取架构位置 (noNamespaceSchemaLocation),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483034/

相关文章:

java - 无法解析包含特殊字符的值?使用 sax 解析器

java - 使用 Android SAXParser,我的 XML 元素神秘地分成两半

java - 多次调用 java SaxParser.parse(String, Handler) 合法吗?

java - 在 Java 中链接方法调用时遇到问题

java - 如何使用 JAXB 解码自定义 xml 命名空间?

java - 有没有办法关闭方法的反射?

java - SAX 解析器在 ñ 上中断

java - 解析 XML 并在不绑定(bind)命名空间的情况下获取 DOM 树 - Java

java - Runtime.getRuntime.exec ("who am i") 没有给出预期的结果

java - BufferedReader.nextLine() 不会前进到下一行,所以我陷入了循环