如何从DOM“文档”上的资源设置模式

时间:2011-12-05 10:40:50

标签: android xsd android-xml

我无法找到任何相关信息。 我只想查找我的DOM xml对象中是否存在特定行(并且更有效地遍历所有节点)。

为了做到这一点,我需要一个ID属性,并且为了将属性设置为ID,所以我可以使用getElementById,我需要在DocumentBuilderFactory上设置一个模式。

所以..我在我的resurces(名为xml的文件夹)中的一个非常随机的位置构建了一个XSD文件 - 是否有一个标准的放置位置?

我试过这样的事情:

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

    Source schemaSource = new StreamSource(getClass().getResourceAsStream("online_list_schema.xsd"));
    Schema mySchema;
    mySchema = factory.newSchema(schemaSource);

    dbf.setSchema(mySchema);

是的,我真的不知道如何使用getResourceAsStream ..(为什么它要求Sting而不是Int?)

但让我们先从

开始
  

SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

即使它本身也会产生错误..

  

12-05 10:00:27.879:E / AndroidRuntime(996):引起:   java.lang.IllegalArgumentException:http://www.w3.org/2001/XMLSchema

所以我的问题是:

  1. 我应该在我的资源中放置一个xml架构(或者 - 我应该放 我的资源中的xml架构,如果不是我该怎么办?)
  2. 为什么SchemaFactory.newInstance会给我一个错误,我该怎么办? 正确使用
  3. 如何从我的资源加载架构源,另一个是 代码中的行是否正确?

0 个答案:

没有答案