You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一XML读取代码在不同项目中输出异常,请求技术协助

XML读取内容显示异常排查求助

同一XML文件和读取代码,在一个项目中能正常读取xrReader.GetAttribute(0)的内容(输出示例:BANKNIFTY23101244200CE),但在另一个项目中读取后日期部分被替换为省略号(输出示例:BANKNIFTY.......44200CE),无法定位差异原因,请求协助排查。

读取代码

Using xrReader As XmlReader = XmlReader.Create(source)
    Do While xrReader.Read()
        If xrReader.NodeType = XmlNodeType.Element AndAlso xrReader.Name = "Mapping" Then
            If xrReader.GetAttribute(0).ToString.StartsWith("BANKNIFTY") Then
                BankNiftyMappingPresentExpiryDateTextBox.Text = xrReader.GetAttribute(0)
            End If
        End If
    Loop
End Using

XML源文件示例

<Mapping symbol="BANKNIFTY23101244200CE" name="44200CE" exchange="" />
<Mapping symbol="BANKNIFTY23101244200PE" name="44200PE" exchange="" />
<Mapping symbol="BANKNIFTY23101244300CE" name="44300CE" exchange="" />
<Mapping symbol="BANKNIFTY23101244300PE" name="44300PE" exchange="" />

排查方向与解决方案

  • 检查文本框显示属性:异常项目中的BankNiftyMappingPresentExpiryDateTextBox可能开启了AutoEllipsis属性,或MaxLength设置过短。可在设计器中关闭AutoEllipsis,并将MaxLength设为0(不限制长度)。
  • 验证读取的原始字符串:在赋值后添加调试代码Debug.WriteLine(xrReader.GetAttribute(0)),确认读取到的字符串本身是否完整。如果调试输出正常,说明是文本框显示问题而非XML读取问题。
  • 统一XML读取配置:显式指定XmlReaderSettings,确保两个项目的读取行为一致:
    Dim settings As New XmlReaderSettings()
    settings.IgnoreWhitespace = True
    Using xrReader As XmlReader = XmlReader.Create(source, settings)
        ' 原有读取逻辑
    End Using
    
  • 确认编码一致性:检查XML文件的编码声明(如<?xml version="1.0" encoding="UTF-8"?>),确保两个项目读取时使用相同编码,避免字符解析异常。

内容的提问来源于stack exchange,提问作者tasklive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:14:51