使用脚本组件解析XML行



我有一个平坦的文件,数据存储在XML行中。我正在使用脚本组件作为源来解析XML行,如下所示。它工作正常,直到在特定行中,我们才看到其中一列。

例如:在源文件的第12行中,它只有COL1和COL2,并且没有COL3。我需要修改以下C#代码,以便每当没有找到一列时,就需要返回为null。

public override void CreateNewOutputRows()
{
    string filepath = @"c:testtestxmldata.txt";
    string fileContent = new StreamReader(filepath).ReadToEnd();

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<root>"+ fileContent+"</root>");
    XmlNodeList xnl = doc.GetElementsByTagName("TICKET_EXTRACT");

    foreach (XmlNode xn in xnl) {
        Output0Buffer.AddRow();
        Output0Buffer.col1 = xn["col1"].InnerText;        
        Output0Buffer.col2 = xn["col2"].InnerText;
        Output0Buffer.col3 = xn["col3"].InnerText;
    }

您基本上可以做两件事:要么使用无条件操作员:

Output0Buffer.col3 = xn["col3"]?.InnerText;

(如果xn["col3"]null,则右侧是null

或在if语句中包装:

if (xn["col3"] != null) {
    Output0Buffer.col3 = xn["col3"].InnerText;
}

相关内容

  • 没有找到相关文章

最新更新