首页 > 解决方案 > 从完整的 xpath 生成 xml

问题描述

我在 xpath 中得到了如下所示的 xpath

在 xpath 中,字符 '[r]'、'[k]'、'[i]' 表示 iter,我可以找到 Iter 的起始编号。和 UUIDofk-thdrug 也是变量,我也有。

我尝试仅在 xml 路径中提取标签值,如下所示 /MCCI_IN200100UV01/PORR_IN049016UV/controlActProcess/subject/investigationEvent/component/ .....

有了这个我想生成包含属性的xml代码

/hl7:MCCI_IN200100UV01[@ITSVersion='XML_1.0'][@xsi:schemaLocation='urn:hl7-org:v3 MCCI_IN200100UV01.xsd']/hl7:PORR_IN049016UV[r]/hl7:controlActProcess[@classCode='CACT'][@moodCode='EVN']/hl7:subject[@typeCode='SUBJ'][1]/hl7:investigationEvent[@classCode='INVSTG']
[@moodCode='EVN']/hl7:component[@typeCode='COMP'][hl7:adverseEventAssessment][1]/hl7:adverseEventAssessment[@classCode='INVSTG'][@moodCode='EVN']/hl7:component[@typeCode='COMP'][hl7:causalityAssessment/hl7:code[@code='39'][@codeSystem='2.16.840.1.113883.3.989.2.1.1.19']][r]/hl7:causalityAssessment[@classCode='OBS'][@moodCode='EVN'][hl7:subject1[@typeCode='SUBJ']/hl7:adverseEffectReference[@classCode='OBS'][@moodCode='EVN']/hl7:id[@root='UUIDofi-threaction']][hl7:subject2[@typeCode='SUBJ']/hl7:productUseReference[@classCode='SBADM'][@moodCode='EVN']/hl7:id[@root='UUIDofk-thdrug']]/hl7:value[@xsi:type='ST']/text()

手写示例如下。我想将我的值放入正确的路径中,在上面的示例 xpath 中,该值将像下面的示例 xml 一样插入。

<<?xml version="1.0" encoding="UTF-8"?>
<MCCI_IN200100UV01 ITSVersion="XML_1.0" xsi:schemaLocation="urn:hl7-org:v3 MCCI_IN200100UV01.xsd" xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
    <PORR_IN049016UV>
  
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
        <controlActProcess classCode="CACT" moodCode="EVN">
        
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
          <subject typeCode="SUBJ">
          
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
            <investigationEvent classCode="INVSTG" moodCode="EVN">
            
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                <component typeCode="COMP">
                
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                    <adverseEventAssessment classCode='INVSTG' moodCode='EVN'>
                    
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                        <component typeCode="COMP">
                        
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                            <causalityAssessment classCode="OBS" moodCode="EVN">
                            
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                                <code code="39" codeSystem="2.16.840.1.113883.3.989.2.1.1.19" codeSystemVersion="1.1" displayName="causality"/>
                                    <value xsi:type="ST">PUT MY VALUE</value>
                                    
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                                    <subject1 typeCode="SUBJ">
                                      <adverseEffectReference classCode="OBS" moodCode="EVN">
                                          <id root="154eb889-958b-45f2-a02f-42d4d6f4657f"/>
                                      </adverseEffectReference>
                                    </subject1>
                                    
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                                </causalityAssessment>
                                
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                            </component>
                            
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                        </adverseEventAssessment>
                        
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                    </component>
                    
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
                </investigationEvent>
                
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
            </subject>
            
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
        </controlActProcess>
        
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
    </PORR_IN049016UV>
    
          """" INSERT SOMETHING MORE DEPENDS ON XPATH """"
</MCCI_IN200100UV01>

在 python 中使用上面的 xpath 生成 xml 的最佳方法是什么?

标签: python-3.xxpathxsdxml-parsing

解决方案


推荐阅读