有谁知道如何从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>";
请帮忙吗?谢谢!
答案 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是否可用,但希望识别缺失的标签将解决您的基本问题。