以下は、私のxmlが現在どのように見えるかの例です:
<Records>
<Record>
<Field id='NAMEOFBUSINESS'>
<Value>J's Burgers</Value>
</Field>
<Field id='BUSINESSPHONE'>
<Value>777-888-9999</Value>
</Field>
<Record>
</Records>
ただし、次のようにする必要があります。
<Records>
<Record>
<Field id='NAMEOFBUSINESS'>
<Value>J's Burgers</Value>
</Field>
<Field id='BUSINESSPHONE'>
<Value>777-888-9999</Value>
</Field>
<Record>
</Records>
現在、私のコードは次のようになっています。
using (var sr = new StreamReader(filePath, encode))
{
xmlDocument.Load(sr);
}
XmlNodeList nlist = null;
XmlNode root = xmlDocument.DocumentElement;
if (root != null)
{
nlist = root.SelectNodes("//Field");
}
if (nlist == null)
{
return;
}
foreach (XmlElement node in nlist)
{
if (node == null)
{
continue;
}
var value = node.Value;
if (value != null)
{
var newValue = value.Replace("'", "'");
node.Value = newValue;
}
}
using (var xmlWriter = new XmlTextWriter(filePath, encode))
{
xmlWriter.QuoteChar = '\'';
xmlDocument.Save(xmlWriter);
}
したがって、「'」をエスケープする必要がありますが、アポストロフィが存在する値要素内のみです。