Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
Android 如何从字符串转换XML数据?_Android_Xml - Fatal编程技术网

Android 如何从字符串转换XML数据?

Android 如何从字符串转换XML数据?,android,xml,Android,Xml,有人知道如何从字符串转换XML吗?我看到了从XML到字符串值的转换,但没有看到字符串到XML的转换。我有一个包含XML内容的字符串,但是当我使用parse()方法时,它失败了 以下是一个例子: String content = EntityUtils.toString(responseEntity); Therefore content now contains: content = "<MGMT>" + "<NET>" +

有人知道如何从字符串转换XML吗?我看到了从XML到字符串值的转换,但没有看到字符串到XML的转换。我有一个包含XML内容的字符串,但是当我使用
parse()
方法时,它失败了

以下是一个例子:

 String content = EntityUtils.toString(responseEntity);
Therefore content now contains:    
    content = "<MGMT>" +
        "<NET>" +
            "<HEAD>" +
                "<ClientID>99999999</ClientID>" +
                "<ServerID>WEB_01</ServerID>" +
                "<Rsp>00</Rsp>" +
                "<Auth></Auth>" +
            "</HEAD>" +
            "<STAT>" +
                "<IP>192.168.5.158</IP>" +
                "<Status>OK, Success!</Status>" + 
        "</NET>" +
    "</MGMT>";
String content=EntityUtils.toString(responseEntity);
因此,内容现在包含:
content=“”+
"" +
"" +
"99999999" +
“WEB_01”+
"00" +
"" +
"" +
"" +
"192.168.5.158" +
“好的,成功!”+
"" +
"";
请帮忙?谢谢

您的“内容”是否遵循XML格式?您可以在“内容”前面添加标题,如:

我认为您可以先将“内容”保存到一个文件中,然后解析该文件。这可以帮助您验证XML格式


祝您好运。

您的示例内容缺少结束统计标记

一旦我添加了这一点,我就能够使用LINQ to XML解析字符串:

        string sContent =
        sContent = "<MGMT>" +
    "<NET>" +
        "<HEAD>" +
            "<ClientID>99999999</ClientID>" +
            "<ServerID>WEB_01</ServerID>" +
            "<Rsp>00</Rsp>" +
            "<Auth></Auth>" +
        "</HEAD>" +
        "<STAT>" +
            "<IP>192.168.5.158</IP>" +
            "<Status>OK, Success!</Status>" + 
        "</STAT>" +
    "</NET>" +
"</MGMT>";


        XElement element = XElement.Parse(sContent);

        string sStatus = element.Descendants("Status").First().Value;
字符串内容=
sContent=“”+
"" +
"" +
"99999999" +
“WEB_01”+
"00" +
"" +
"" +
"" +
"192.168.5.158" +
“好的,成功!”+
"" +
"" +
"";
XElement元素=XElement.Parse(scocontent);
字符串sStatus=element.subjections(“Status”).First().Value;

我不知道在为Android编程时是否可以使用LINQ to XML,但希望识别丢失的标记可以解决您的基本问题。

您的意思是什么?是否要创建某种Java
XML
对象来表示字符串中包含的XML?您想做什么并不十分清楚。
XML
内容存储在字符串变量中。我想将存储
XML
的字符串解析为我可以使用的值。在上面的例子中。我想用的是
好的,成功,等等。但由于它是一个字符串值,我可以解析它吗?我尝试了一个
XMLReader.parse(content)
,但失败了。我相信我可能做了一些错误的步骤,但我不知道是哪一步。是的,它确实有。我没有把它放在这里。如何创建临时文件以将其存储到中?然后,解析它?正如另一个答案所说,你的“内容”是非法的。我认为这就是问题所在。顺便说一下,应该有很多XML解析器可以将字符串解析为XML。是一个可以帮助您验证XML字符串的链接。抱歉!它没有UTF-8!!这是格式<代码>
XElement是一个XML解析器吗?当您在最初的帖子中提到XmlReader时,听起来好像您已经有了一些解析功能。你试过在修改内容中使用它吗?