質問する
165 次
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 に答える