我有有一个方法Web服务半数据:的XmlReader跳过发送到web服务
[WebMethod]
public bool SyncUserData(string userxml)
的XML是一系列的用户记录,我用一个XmlReader通过数据读取和处理它。
当我用2000条记录调用Web服务时,它处理2000条记录。 当我的客户用相同的XML调用它时,它处理1000条记录。 它处理所有其他记录。
有没有人有这种问题的经验? 我的想法是,这是一个编码问题,但我已经尝试在我的测试中将数据发送到服务,如ASCII,ISO-8859-1等,并且无法重新创建。
任何帮助非常感谢。
这是调用代码:
while (userXml.Read())
{
if (userXml.Name == NODE_NAME_FILE_NAME && userXml.NodeType == XmlNodeType.Element)
{
_importFilename = userXml.ReadString();
}
if (userXml.Name == NODE_NAME_USER && userXml.NodeType == XmlNodeType.Element)
{
ProcessUser(userXml);
}
}
,这是什么processUser确实与德XML阅读器
private void ProcessUser(XmlReader userXml)
{
_usersinfeed++;
XmlDocument user = new XmlDocument();
user.LoadXml(userXml.ReadOuterXml());
...
}
感谢您的支持。这是代码的正确问题。为什么它在dev和not production中工作的原因是dev xml中存在的空白节点在生产xml中不存在。这意味着额外的读取没有超出预期的节点 – sentece 2010-06-28 15:43:23
您最终会使用哪种方法?你有没有尝试Xml序列化?真的,你应该看一看 - 比手写这些东西容易得多。 – 2010-06-28 16:57:38
我没有'实际上,只是修复了XmlReader - xml直接去了db,我们没有导入的反向序列化的域对象。 我们也使用.net 2所以没有linq 我已经使用过xml序列化和喜欢它。 感谢您的全力帮助 – sentece 2010-09-02 14:52:42