我正在为我需要的天气设置它具有正确的XML格式,如一致的开始和结束标签。
抱歉,我试图使字符串值格式良好但不能:)。
string parameter="<HostName>Arasanalu</HostName><AdminUserName>Administrator</AdminUserName><AdminPassword>A1234</AdminPassword><placeNumber>38</PlaceNumber>"
我尝试了以下检查:
public bool IsValidXML(string value)
{
try
{
// Check we actually have a value
if (string.IsNullOrEmpty(value) == false)
{
// Try to load the value into a document
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(parameter);
// If we managed with no exception then this is valid XML!
return true;
}
else
{
// A blank value is not valid xml
return false;
}
}
catch (System.Xml.XmlException)
{
return false;
}
}
正确和错误的格式都会出错。
请告诉我如何继续。
的问候,
鳢
答案 0 :(得分:1)
您所拥有的字符串的内容实际上并不构成有效的xml文档
缺少根元素
string parameter="<HostName>Arasanalu</HostName><AdminUserName>Administrator</AdminUserName><AdminPassword>A1234</AdminPassword><PlaceNumber>38</PlaceNumber>";
XmlDocument doc = new XmlDocument(); \
doc.LoadXml("<root>" + parameter + "</root>"); // this adds a root element and makes it Valid
只有一个元素,称为root或document元素,no 其中一部分出现在任何其他元素的内容中。]对于所有人 其他元素,如果start-tag在另一个元素的内容中, 结束标记位于同一元素的内容中。更简单地说, 由开始和结束标记分隔的元素在其中正确嵌套 彼此。
答案 1 :(得分:0)
始终在变量中放置适当的标签。在代码之前和之后添加<root>
标记。请尝试以下代码。
try
{
string unformattedXml = "<Root><HostName>Arasanalu</HostName><AdminUserName>Administrator</AdminUserName><AdminPassword>A1234</AdminPassword><PlaceNumber>38</PlaceNumber></Root>";
string formattedXml = XElement.Parse(unformattedXml).ToString();
return true;
}
catch (Exception e)
{
return false;
}