如何在XML中存储国际字符?

时间:2017-07-11 11:23:37

标签: xml

我遇到的问题是我生成的XML包含:

<attribute name="Actors">Trevante Rhodes , André Holland , Janelle Monáe</attribute>

但它应该是这样的:

<attribute name="Actors">Trevante Rhodes , André Holland , Janelle Monáe</attribute>

@IntelliData's answer to the question posted here似乎建议唯一的解决方案是用HTML编码的计数器部件替换它们。

所以...如果我的源文件可能包含来自一个或多个国家/地区的任何外国字符,这是否意味着我必须编写一个例程才能做到这一点?

如果我别无选择,是否有更有效的方法来进行搜索和替换?

myData = myData.Replace("À","&#192;").Replace("à","&#224;").Replace(...)

更多信息

要创建XML文件,我正在使用

using (StreamWriter sw = new StreamWriter(myTxtFile))
{
...
}
因此,

myTxtFile包含

 Trevante Rhodes , André Holland , Janelle Monáe , Ashton...

然后我使用:

打开.txt文件
using (StreamReader sr = new StreamReader(mySourceFile, Encoding.GetEncoding("iso-8859-1")))
{
...
some processing to assign the data to XML nodes...
...
}

最后创建XML文件:

using (StreamWriter sw = new StreamWriter(xmlDataFilename, false, Encoding.GetEncoding("utf-8"))) 
{
...
myXMLObject.outerXml
...
}

产生这个:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<productRequest>
    <attribute name="Actors"> Trevante Rhodes , André Holland , Janelle Monáe , Ashton...</attribute>
</productRequest>

更多信息2

搜索和替换问题的答案在于 here

0 个答案:

没有答案