我正在尝试读取XML文件的内容。它在加载xml文件的行上抛出错误。
这是一个xml文件的示例
<?xml version="1.0" encoding="ISO-8859-1"?>
<user userID="1356748">
<name first="Joe" last="Sample" />
<version>MACHVR</version>
<aptitude name="Mental Acuity" id="A1">4</aptitude>
<aptitude name="Business Terms" id="A2">3</aptitude>
<aptitude name="Memory Recall" id="A3">9</aptitude>
<aptitude name="Vocabulary" id="A4">4</aptitude>
<aptitude name="Numerical Perception" id="A5">3</aptitude>
<aptitude name="Mechanical Interest" id="A6">4</aptitude>
<aptitude name="Math" id="A7">7</aptitude>
</user>
这是我用来阅读它的代码
public Assessment GetXMLData(string UserId, string Secondary, string FirstName, string LastName, string AcctPassword)
{
string URL = "http://www.myurl.com";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
string postdata = "UserId=" + UserID + "&FirstName=" + FirstName +
"&LastName=" + LastName + "&SecondaryAccount=" + Secondary +
"&Password=" + AcctPassword;
byte[] byteArray = Encoding.UTF8.GetBytes(postdata);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Assessment test = new Assessment();
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
{
string ResponseFromServer = streamReader.ReadToEnd();
XDocument doc = XDocument.Load(ResponseFromServer);
var query = from c in doc.Descendants("aptitude")
select c;
//some more code
}
}
错误正在被抛出
XDocument doc = XDocument.Load(ResponseFromServer)
我试着加上@符号,结果是
XDocument doc = XDocument.Load(@ResponseFromServer);
然后我尝试用它来转义字符串中的引号,并保留@符号
ResponseFromServer = ResponseFromServer.Replace("\"","\"\"")
XDocument-doc=XDocument。加载(@ResponseFromServer);
我仍然得到错误