0

私は天候をチェックする必要がある 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;
    }
}

正しいフォーマットと間違ったフォーマットでエラーをスローしていました。

どうすれば進められるか教えてください。

よろしく、
チャンナ

4

2 に答える 2

1

The content of the string you have do not actually form a valid xml document

Its missing a Root Element

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 Element

There is exactly one element, called the root, or document element, no part of which appears in the content of any other element.] For all other elements, if the start-tag is in the content of another element, the end-tag is in the content of the same element. More simply stated, the elements, delimited by start- and end-tags, nest properly within each other.

于 2013-07-24T07:01:01.237 に答える
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;
        }
于 2013-07-24T07:39:35.210 に答える