C# XPath 读取HL7-V3消息格式 xml 文件信息

HL7 卫生信息交换标准(Health Level 7)

标准化的卫生信息传输协议,是医疗领域不同应用之间电子传输的协议。HL7汇集了不同厂商用来设计应用软件之间接口的标准格式,它将允许各个医疗机构在异构系统之间,进行数据交互。

HL7的主要应用领域是HIS/RIS,主要是规范HIS/RIS系统及其设备之间的通信,它涉及到病房和病人信息管理、化验系统、药房系统、放射系统、收费系统等各个方面。HL7的宗旨是开发和研制医院数据信息传输协议和标准,规范临床医学和管理信息格式,降低医院信息系统互连的成本,提高医院信息系统之间数据信息共享的程度。

Health Level 7中的“Level 7”是指OSI的七层模型中的最高一层,第七层。但这并不是说它遵循OSI第七层的定义数据元素,它只是用来构成它自己的抽象数据类型和编码规则。它也没有规定规范说明如何支持OSI第一到第六层的数据。

1,首先没有接触过Xpath的去这里学习下:XPath Tutorialicon-default.png?t=N7T8http://www.zvon.org/xxl/XPathTutorial/Output_chi/

2,HL7-V3格式的XML文件如下

<PRPA_IN201311UV02 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ITSVersion="XML_1.0" xmlns="urn:hl7-org:v3">
    <id root="2.16.156.10011.0" extension="22a0f9e0-4454-11dc-a6be-3603d6866807"/>
    <creationTime value="20070803130624"/>
    <interactionId root="2.16.840.1.113883.1.6" extension="PRPA_IN201311UV02"/>
    <processingCode code="P"/>
    <processingModeCode code="R"/>
    <acceptAckCode code="AL"/>
    <receiver>
        <device>
            <id root="2.16.156.10011.0.1.1" extension="2.16.156.10011.0.1.1"/>
        </device>
    </receiver>
    <sender>
        <device>
            <id root="2.16.156.10011.0.1.2" extension="2.16.156.10011.0.1.2"/>
        </device>
    </sender>
    <controlActProcess>
        <subject>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用System.Xml命名空间下的XmlDocument类来读取XML文件,并使用XPath语法来选择指定的节点或属性,并使用`XmlReader`来读取指定字段的值。 以下是一个示例代码,演示如何读取指定路径的XML文件,并获取指定字段的值: ```csharp using System; using System.Xml; public class Program { public static void Main() { string filePath = "path/to/your/xml/file.xml"; string elementName = "element"; // 要读取的节点名称 string attributeName = "attribute"; // 要读取的属性名称 int valueNum = 0; // 要读取的属性值在属性列表中的位置(从0开始) // 创建一个XmlReaderSettings对象,设置忽略注释和空白节点 XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; settings.IgnoreWhitespace = true; // 创建一个XmlReader对象,用于读取XML文件 using (XmlReader reader = XmlReader.Create(filePath, settings)) { // 循环读取XML文件中的节点 while (reader.Read()) { // 如果当前节点是指定的节点 if (reader.NodeType == XmlNodeType.Element && reader.Name == elementName) { // 读取指定属性的值 string attributeValue = reader.GetAttribute(attributeName, ""); if (attributeValue != null) { // 将属性值按照指定的位置分割成一个字符串数组 string[] values = attributeValue.Split(' '); if (valueNum < values.Length) { // 输出指定位置上的属性值 Console.WriteLine(values[valueNum]); return; } } } } } } } ``` 在上面的代码中,你需要将`filePath`变量设置为你的XML文件的路径,`elementName`变量设置为你想要读取的节点的名称,`attributeName`变量设置为你想要读取的属性的名称,`valueNum`变量设置为你想要读取的属性值在属性列表中的位置(从0开始)。 然后,使用`XmlReader`类来读取XML文件,并在循环中查找指定的节点。如果找到了指定节点,则使用`GetAttribute`方法读取指定属性的值,并按照空格分割成一个字符串数组。然后,使用`valueNum`变量来获取指定位置上的属性值,并输出它。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值