1
4

2 に答える 2

0

これらの文字を数値文字参照に置き換える必要があります。> と < を & gt; に置き換える方法と同様です。& lt;、これらの文字を & #931; のようなものに置き換えます。またはそれらの特定の文字を参照するもの。

編集:編集者が実際に文字を選択して解釈するのを避けるために、 & の後にスペースを追加する必要がありました。使用中のスペースを削除するだけです。

于 2013-11-09T17:20:25.470 に答える
0

または、XML のソースを制御できず、すべての値をデータベースなどに読み込むだけでよい場合は、XmlTextReader を使用して xml を 1 行ずつ読み込んで、既知の要素で停止することができます。不良データを含み、その要素の文字を読み取ります。私は過去にこれをしなければなりませんでした。このようなもの

static void Main(string[] args)
    {
        var xtr = new XmlTextReader("");
        xtr.Normalization = false;

        while (xtr.Read())
        {
            if(xtr.IsStartElement("Row")) // My xml doc contains many row elements
            {
                var fields = new string[6];
                while(xtr.Read())
                {
                    for (int i = 0; i < 6; i++) // I know my xml only has six child elements per row
                    {
                        while(!xtr.IsStartElement())
                        {
                            xtr.Read(); // We're not interested in hitting the end elements
                        }

                        if(i == 1) // I know my special characters are in the second child element of my row
                        {
                            var charBuff = new char[255];
                            xtr.ReadChars(charBuff, 0, 255); // I know there will be a maximum of 255 characters

                            fields[i] = new string(charBuff);
                        }
                        else
                        {
                            fields[i] = xtr.ReadElementContentAsString();
                        }
                    }
                }
            }
        }
    }
于 2013-11-09T17:58:12.593 に答える