Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有<;,如何解析XML文件;?xml版本=1.0>;对于android_Android - Fatal编程技术网

没有<;,如何解析XML文件;?xml版本=1.0>;对于android

没有<;,如何解析XML文件;?xml版本=1.0>;对于android,android,Android,可以使用SAX、DOM、XMLPull解析具有以下标头的XML文件: <JsonResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/System.Web.Mvc"> <ContentEncoding xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Te

可以使用SAX、DOM、XMLPull解析具有以下标头的XML文件:

<JsonResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/System.Web.Mvc">
<ContentEncoding xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Text" i:nil="true"/>
<ContentType i:nil="true"/>
<Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/ProximoColectivo.Entities" i:type="d2p1:FeatureCollection">


o应始终以
开头。是的,您可以解析不以
开头的xml文件。例如

public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException {
    String str = "<abc/>";
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(new ByteArrayInputStream(str.getBytes()));     
    System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
}
publicstaticvoidmain(字符串args[])抛出ParserConfigurationException、SAXException、IOException{
字符串str=“”;
DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
Document doc=dBuilder.parse(新的ByteArrayInputStream(str.getBytes());
System.out.println(“根元素:+doc.getDocumentElement().getNodeName());
}
会有用的。但是您的字符串xml文件将无法工作。为了让xml解析器工作,应该有一个根标记,然后是其中的所有标记。所以

String str = "<abc/><pqr/>";
String str=”“;
不起作用,但

String str = "<abc><pqr/></abc>";
String str=”“;
会有用的。作为解决方法,您可以做的是

Enumeration<InputStream> combinedStreams = Collections.enumeration(
    Arrays.asList(new InputStream[] {
        new ByteArrayInputStream("<abc>".getBytes()),
        yourXMLFileInputStreamStream,
        new ByteArrayInputStream("</abc>".getBytes()),
    }));

SequenceInputStream xmlStream = new SequenceInputStream(combinedStreams);
Document doc = dBuilder.parse(xmlStream);
Enumeration combinedStreams=Collections.Enumeration(
Arrays.asList(新的InputStream[]{
新建ByteArrayInputStream(“.getBytes()),
您的XmlFileInputStream,
新建ByteArrayInputStream(“.getBytes()),
}));
SequenceInputStream xmlStream=新SequenceInputStream(组合流);
documentdoc=dBuilder.parse(xmlStream);

是的,您可以解析不以
开头的xml文件。例如

public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException {
    String str = "<abc/>";
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(new ByteArrayInputStream(str.getBytes()));     
    System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
}
publicstaticvoidmain(字符串args[])抛出ParserConfigurationException、SAXException、IOException{
字符串str=“”;
DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
Document doc=dBuilder.parse(新的ByteArrayInputStream(str.getBytes());
System.out.println(“根元素:+doc.getDocumentElement().getNodeName());
}
会有用的。但是您的字符串xml文件将无法工作。为了让xml解析器工作,应该有一个根标记,然后是其中的所有标记。所以

String str = "<abc/><pqr/>";
String str=”“;
不起作用,但

String str = "<abc><pqr/></abc>";
String str=”“;
会有用的。作为解决方法,您可以做的是

Enumeration<InputStream> combinedStreams = Collections.enumeration(
    Arrays.asList(new InputStream[] {
        new ByteArrayInputStream("<abc>".getBytes()),
        yourXMLFileInputStreamStream,
        new ByteArrayInputStream("</abc>".getBytes()),
    }));

SequenceInputStream xmlStream = new SequenceInputStream(combinedStreams);
Document doc = dBuilder.parse(xmlStream);
Enumeration combinedStreams=Collections.Enumeration(
Arrays.asList(新的InputStream[]{
新建ByteArrayInputStream(“.getBytes()),
您的XmlFileInputStream,
新建ByteArrayInputStream(“.getBytes()),
}));
SequenceInputStream xmlStream=新SequenceInputStream(组合流);
documentdoc=dBuilder.parse(xmlStream);