正在验证字符串值是否具有正确的XML格式

本文关键字:XML 格式 是否 验证 字符串 | 更新日期: 2023-09-27 18:24:31

我有一个sring,我需要检查它是否具有正确的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;
    }
}

它抛出了正确和错误格式的错误。

请告诉我怎样才能继续。

此致,
信道

正在验证字符串值是否具有正确的XML格式

您所拥有的字符串的内容实际上并不构成有效的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>标签。请尝试以下代码。

        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;
        }