如何从String转换XML数据?

时间:2012-04-11 03:09:20

标签: android xml

有谁知道如何从String转换XML?我一直看到从XML到String值的转换,但不是String到XML的转换。我有一个包含XML内容的String,但是当我使用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>";

请帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:0)

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

<?xml version="1.0" encoding="UTF-8" ?>

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

祝你好运。

答案 1 :(得分:0)

您的示例内容缺少结束STAT标记。

一旦我添加了它,我就能够使用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;

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