Java:找不到适合解析的方法(java.util.List <java.lang.String>)

彼德

我的代码有问题,我想我缺少一种方法,我想创建一个字符串列表,然后打印出内容。现在,我编写了一些针对一个字符串执行此操作的代码,但我想针对多个字符串执行此操作。

    @Test
    public void xmlFileParse () throws ParserConfigurationException, IOException, SAXException {
        List<String> fXmlFile = new ArrayList<String>();
        fXmlFile.add("src/test/resources/fixtures/event.xml");
        fXmlFile.add("src/test/resources/fixtures/country.xml");


        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(fXmlFile);
        NodeList nodes = doc.getElementsByTagName("subscription-update").item(0).getChildNodes();

        for(int i = 0; i < nodes.getLength(); i++){
            Node node = nodes.item(i);
            if(node.getNodeType() == ELEMENT_NODE){
                System.out.println("TABLE: [" + node.getNodeName() + "] ID: [" + node.getAttributes().getNamedItem("id").getNodeValue() + "]");    
                }    
            }
        }

这是我当前收到的错误。

Error:(65, 32) java: no suitable method found for parse(java.util.List<java.lang.String>)
    method javax.xml.parsers.DocumentBuilder.parse(java.io.InputStream) is not applicable
      (argument mismatch; java.util.List<java.lang.String> cannot be converted to java.io.InputStream)
    method javax.xml.parsers.DocumentBuilder.parse(java.lang.String) is not applicable
      (argument mismatch; java.util.List<java.lang.String> cannot be converted to java.lang.String)
    method javax.xml.parsers.DocumentBuilder.parse(java.io.File) is not applicable
      (argument mismatch; java.util.List<java.lang.String> cannot be converted to java.io.File)
    method javax.xml.parsers.DocumentBuilder.parse(org.xml.sax.InputSource) is not applicable
      (argument mismatch; java.util.List<java.lang.String> cannot be converted to org.xml.sax.InputSource)
皮特·索尔蒂西亚克
dBuilder.parse(fXmlFile);

将不起作用-它期望一个String uri,而不是它们的列表。从文档:

parse(String uri)将给定URI的内容解析为XML文档,并返回一个新的DOM Document对象。

我认为您的代码应如下所示:

@Test
public void xmlFileParse () throws ParserConfigurationException, IOException, SAXException {
    List<String> fXmlFile = new ArrayList<String>();
    fXmlFile.add("src/test/resources/fixtures/event.xml");
    fXmlFile.add("src/test/resources/fixtures/country.xml");


    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

    for(String uri: fXmlFile) {
        Document doc = dBuilder.parse(uri);
        NodeList nodes = doc.getElementsByTagName("subscription-update").item(0).getChildNodes();

        for(int i = 0; i < nodes.getLength(); i++){
            Node node = nodes.item(i);
            if(node.getNodeType() == ELEMENT_NODE){
                System.out.println("TABLE: [" + node.getNodeName() + "] ID: [" + node.getAttributes().getNamedItem("id").getNodeValue() + "]");    
                }    
            }
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

错误:哈希映射中的put(java.lang.string,list <string>)无法应用于(java.util.list <java.lang.string>)

Android:java.lang.NullPointerException:尝试在空对象引用上调用接口方法“ int java.util.List.size()”

无法将java.util.List转换为java.lang.Iterable的模板接口

java.lang.ClassCastException:无法将Model.Film强制转换为java.util.List

如何将java.util.List [java.lang.Long]转换为java.util.List [Long]

java.lang.NullPointerException:尝试在空对象引用上调用接口方法'java.util.Iterator java.util.List.iterator()'

java.util.IllegalFormatConversionException:f!= java.lang.String错误

Android MultiSelectListPreference,java.lang.String无法强制转换为java.util.Set

无法将java.util.LinkedHashMap强制转换为java.lang.String(RestTemplate)

Spring-data-redis @Cacheable java.lang.ClassCastException:java.util.HashMap无法转换为java.lang.String

java:159:错误:找不到适合put(String,int)的方法

布尔java.util.List.add(java.lang.Object)

java.lang.NoSuchMethodError:org.springframework.util.StringUtils.matchesCharacter(Ljava / lang / String; C)Z

找不到类型为List [(java.util.UUID,String,String,String,Int,Int,Int,Int,java.sql.Timestamp)]的Json反序列化器

java.lang.string不能强制转换为java.util.Vector

线程“主”中的异常java.util.IllegalFormatConversionException:d!= java.lang.String

找不到符号-方法calcAverageBill(java.util.ArrayList <java.lang.Double>)

为什么不使用java.util.List检查java.lang.reflect.Field的实例

ui:repeat中的UISelectMany导致java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为java.util.List

java.lang.ClassCastException:使用Univocity时无法将java.util.Date强制转换为java.lang.String

在类中找不到 JMETER Beanshell ( java.lang.String )

找不到符号 - 方法计数(java.lang.string)

预期的数组类型;找到:'java.util.map<java.lang.String,java.lang.String>'

无法将 java.lang.String[] 类型的属性值转换为所需的类型 java.util.List

java.lang.ClassCastException: java.lang.String 不能转换为 java.util.Map

“java:找不到适合 sort(java.util.ArrayList<Person>,<匿名 java.util.Comparator<Person>>) 的方法”

java.lang.NoSuchMethodError: 'java.lang.String org.slf4j.helpers.Util.safeGetSystemProperty (java.lang.String)'

“无法将 'java.lang.String' 类型的值转换为所需的 'java.util.List'。” 或者如何将 Python 列表转换为 Java.util 列表?

java: 没有为 addAll(java.util.List<java.lang.String>) 找到合适的方法