在一个项目中,我正在读取 XML 文件以获取字符串数据。它工作得很好,但有一个例外。下面是 XML 文件的结构:
<Table>
<row>
<queryId>customAnalyticsParam</queryId>
<queryStatement>
1|-1|-1|-1
</queryStatement>
</row>
</Table>
表格标签包含多个行标签。每个行标签由 queryId 标签区分。上面的结构与以下代码配合得很好:
string query = "";
XmlDocument xd = new XmlDocument();
xd.Load(xml_query_filePath);
XmlNode xnode = xd.SelectNodes("/Table/row/queryId[.='" + id.Trim() + "']")[0];
query = xnode.NextSibling.NextSibling.InnerText;
在上面的代码中,第三行 id 是函数参数中提供的 queryId。当 XML 采用以下格式时会出现异常:
<Table>
<row>
<queryId>
customAnalyticsParam
</queryId>
<queryStatement>
1|-1|-1|-1
</queryStatement>
</row>
</Table>
那是 queryId 节点中前后的行空间。由于这些换行空格,代码找不到节点并返回 null。
请帮我想办法。
谢谢