0

有谁知道如何从字符串转换 XML?我一直在看到从 XML 到 String 值的转换,但不是从 String 到 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>";

请帮忙?谢谢!

4

2 回答 2

0

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

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

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

祝你好运。

于 2012-04-11T03:32:08.313 回答
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,但希望缺失标签的识别能够解决您的基本问题。

于 2012-04-11T04:58:20.893 回答