C# 使用Everest框架解析XML文档(临床文档体系结构CDA,HL7标准)

C# 使用Everest框架解析XML文档(临床文档体系结构CDA,HL7标准),c#,xml,hl7,cda,hl7-v3,C#,Xml,Hl7,Cda,Hl7 V3,我试图从标准化为HL7 V3 CDA标准的XML文件中解析一些临床信息 Xml文件: <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?> <document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.

我试图从标准化为HL7 V3 CDA标准的XML文件中解析一些临床信息

Xml文件:

 <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
   <id root="9bcbe9e4-a541-4ee7-856d-1aacf7f7298f"/>
   <code code="34391-3" codeSystem="2.16.840.1.113883.6.1" displayName="HUMAN PRESCRIPTION DRUG LABEL"/>
   <title>Amlodipine Besylate 5 mg</title>
   <effectiveTime value="20101104"/>
   <setId root="9abf41f1-66f9-4be4-a6d7-6c9aa0d5d387"/>
   <versionNumber value="448"/>
   <author>
      <time/>
      <assignedEntity>
         <representedOrganization>
            <id extension="831276758" root="1.3.6.1.4.1.519.1"/>
            <name>Lake Erie Medical DBA Quality Care Products LLC</name>
            <assignedEntity>
               <assignedOrganization>
                  <assignedEntity>
                     <assignedOrganization>
                        <id extension="831276758" root="1.3.6.1.4.1.519.1"/>
                        <name>Lake Erie Medical DBA Quality Care Products LLC</name>
                     </assignedOrganization>
                     <performance>
                        <actDefinition>
                           <code code="C73607" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="relabel"/>
                        </actDefinition>
                     </performance>
                  </assignedEntity>
                  <assignedEntity>
                     <assignedOrganization>
                        <id extension="915628612" root="1.3.6.1.4.1.519.1"/>
                        <name>Alkem Laboratories Limited</name>
                     </assignedOrganization>
                     <performance>
                        <actDefinition>
                           <code code="C43360" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="manufacture"/>
                        </actDefinition>
                     </performance>
                  </assignedEntity>
               </assignedOrganization>
            </assignedEntity>
         </representedOrganization>
      </assignedEntity>
   </author>
   <component>
      <structuredBody>
         <component>
            <section>
               <id root="5e90ce61-5d11-4acf-8a5b-f99cb10b60f4"/>
               <code code="48780-1" codeSystem="2.16.840.1.113883.6.1" displayName="SPL listing data elements section"/>
               <effectiveTime value="20101103"/>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="35356-059" codeSystem="2.16.840.1.113883.6.69"/>
                        <name>Amlodipine Besylate <suffix/>
                        </name>
                        <formCode code="C42998" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="TABLET"/>
                        <asEntityWithGeneric>
                           <genericMedicine>
                              <name>Amlodipine Besylate </name>
                           </genericMedicine>
                        </asEntityWithGeneric>
                        <asEquivalentEntity classCode="EQUIV">
                           <code code="C64637" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                           <definingMaterialKind>
                              <code code="51991-667" codeSystem="2.16.840.1.113883.6.69"/>
                           </definingMaterialKind>
                        </asEquivalentEntity>
                        <ingredient classCode="ACTIB">
                           <quantity>
                              <numerator value="5" unit="mg"/>
                              <denominator value="1" unit="1"/>
                           </quantity>
                           <ingredientSubstance>
                              <code code="864V2Q084H" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>AMLODIPINE BESYLATE</name>
                              <activeMoiety>
                                 <activeMoiety>
                                    <code code="1J444QC288" codeSystem="2.16.840.1.113883.4.9"/>
                                    <name>AMLODIPINE</name>
                                 </activeMoiety>
                              </activeMoiety>
                           </ingredientSubstance>
                        </ingredient>
                        <ingredient classCode="IACT">
                           <ingredientSubstance>
                              <code code="OP1R32D61U" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>CELLULOSE, MICROCRYSTALLINE</name>
                           </ingredientSubstance>
                        </ingredient>
                        <ingredient classCode="IACT">
                           <ingredientSubstance>
                              <code code="L11K75P92J" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>ANHYDROUS DIBASIC CALCIUM PHOSPHATE</name>
                           </ingredientSubstance>
                        </ingredient>
                        <ingredient classCode="IACT">
                           <ingredientSubstance>
                              <code code="5856J3G2A2" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>SODIUM STARCH GLYCOLATE TYPE A POTATO</name>
                           </ingredientSubstance>
                        </ingredient>
                        <ingredient classCode="IACT">
                           <ingredientSubstance>
                              <code code="ETJ7Z6XBU4" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>SILICON DIOXIDE</name>
                           </ingredientSubstance>
                        </ingredient>
                        <ingredient classCode="IACT">
                           <ingredientSubstance>
                              <code code="70097M6I30" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>MAGNESIUM STEARATE</name>
                           </ingredientSubstance>
                        </ingredient>
                        <asContent>
                           <quantity>
                              <numerator value="90" unit="1">
                                 <translation code="C48477" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="BOTTLE"/>
                              </numerator>
                              <denominator value="1"/>
                           </quantity>
                           <containerPackagedProduct>
                              <code code="35356-059-90" codeSystem="2.16.840.1.113883.6.69"/>
                              <formCode code="C43173" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="BOTTLE, PLASTIC"/>
                           </containerPackagedProduct>
                        </asContent>
                     </manufacturedProduct>
                     <subjectOf>
                        <marketingAct>
                           <code code="C53292" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                           <statusCode code="active"/>
                           <effectiveTime>
                              <low value="20101104"/>
                           </effectiveTime>
                        </marketingAct>
                     </subjectOf>
                     <subjectOf>
                        <approval>
                           <id extension="ANDA078925" root="2.16.840.1.113883.3.150"/>
                           <code code="C73584" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="ANDA"/>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                     <subjectOf>
                        <characteristic classCode="OBS">
                           <code code="SPLCOLOR" codeSystem="2.16.840.1.113883.1.11.19255"/>
                           <value code="C48325" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="white" xsi:type="CE">
                              <originalText>off whit</originalText>
                           </value>
                        </characteristic>
                     </subjectOf>
                     <subjectOf>
                        <characteristic classCode="OBS">
                           <code code="SPLSCORE" codeSystem="2.16.840.1.113883.1.11.19255"/>
                           <value value="1" xsi:type="INT"/>
                        </characteristic>
                     </subjectOf>
                     <subjectOf>
                        <characteristic classCode="OBS">
                           <code code="SPLSHAPE" codeSystem="2.16.840.1.113883.1.11.19255"/>
                           <value code="C48348" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="ROUND" xsi:type="CE">
                              <originalText>flat faced beveled edge</originalText>
                           </value>
                        </characteristic>
                     </subjectOf>
                     <subjectOf>
                        <characteristic classCode="OBS">
                           <code code="SPLIMPRINT" codeSystem="2.16.840.1.113883.1.11.19255"/>
                           <value xsi:type="ST">210</value>
                        </characteristic>
                     </subjectOf>
                     <subjectOf>
                        <characteristic classCode="OBS">
                           <code code="SPLSIZE" codeSystem="2.16.840.1.113883.1.11.19255"/>
                           <value unit="mm" value="8" xsi:type="PQ"/>
                        </characteristic>
                     </subjectOf>
                     <consumedIn>
                        <substanceAdministration>
                           <routeCode code="C38288" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="ORAL"/>
                        </substanceAdministration>
                     </consumedIn>
                  </manufacturedProduct>
               </subject>
            </section>
         </component>
         <component>
            <section>
               <id root="7a474776-2650-40ff-9a8e-22710ed363e4"/>
               <code code="34089-3" codeSystem="2.16.840.1.113883.6.1" displayName="DESCRIPTION SECTION"/>
               <text>
                  <linkHtml href=""/>11 DESCRIPTION<br/>Amlodipine besylate is the besylate salt of amlodipine, a long-acting calcium 
channel blocker.<br/>Amlodipine besylate is chemically described as 
3-Ethyl-5-methyl(±)-2- [(2-aminoethoxy)methyl]-4-(2-chlorophenyl)-1,4-dihydro-6- 
methyl-3,5-pyridinedicarboxylate, monobenzenesulphonate. Its empirical formula 
is C<sub>20</sub>H<sub>25</sub>ClN<sub>2</sub>O<sub>5</sub>•C<sub>6</sub>H<sub>6</sub>O<sub>3</sub>S, and its structural formula is<br/>
                  <br/>.<br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="82d89368-0995-45fd-85a1-e8cdc0edab97"/>
               <code code="34090-1" codeSystem="2.16.840.1.113883.6.1" displayName="CLINICAL PHARMACOLOGY SECTION"/>
               <text>
                  <linkHtml href=""/>12 CLINICAL PHARMACOLOGY<br/>
                  <linkHtml href=""/>12.1 Mechanism of Action<br/>Amlodipine is a dihydropyridine calcium antagonist (calcium ion antagonist or 
slow-channel blocker)

                  <br/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
                  <linkHtml href=""/>12.2 Pharmacodynamics<br/>
                  <br/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
                  <linkHtml href=""/>12.3 .<br/>
                  <br/>

                  <linkHtml href=""/>12.4 Pediatric Patients<br/>Sixty-two hypertensive patients aged 6 to 17 years received doses of amlodipine 
between 1.25 mg and 20 mg. Weight-adjusted clearance and volume of distribution 
were similar to values in adults.<linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="09519e8a-96a2-405a-bae4-e9a4857c7d43"/>
               <code code="34067-9" codeSystem="2.16.840.1.113883.6.1" displayName="INDICATIONS &amp; USAGE SECTION"/>
               <text>
                  <linkHtml href="#section-"/>
                  <linkHtml href="#section-"/>
                  <linkHtml href="#section-"/>
                  <linkHtml href="#section-"/>
                  <linkHtml href="#section-"/>
                  <linkHtml href=""/>
                  <br/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>agents.<linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>1.2 Coronary Artery Disease (CAD)<br/>
                  <content styleCode="underline">Chronic Stable Angina</content>
                  <br/>Amlodipine besylate tablets are 
indicated for the symptomatic treatment of chronic stable angina. Amlodipine 
besylate tablets may be used alone or in combination with other antianginal 
agents.<br/>
                  <br/>
                  <content styleCode="underline">Vasospastic Angina (Prinzmetal's or Variant 
Angina)</content>
                  <br/>Amlodipine besylate tablets are indicated for the treatment 
of confirmed or suspected vasospastic angina. Amlodipine besylate tablets may be 
used as monotherapy or in combination with other antianginal 
agents.<br/>
                  <br/>
                  <content styleCode="underline">Angiographically Documented CAD</content>
                  <br/>e<br/>
                  <content styleCode="underline"/>
                  <br/>
                  <br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="82dcdac1-1a49-4c95-b33d-593a0d7588ae"/>
               <code code="34070-3" codeSystem="2.16.840.1.113883.6.1" displayName="CONTRAINDICATIONS SECTION"/>
               <text>
                  <linkHtml href=""/>4 CONTRAINDICATIONS<br/>Amlodipine besylate 
tablets are contraindicated in patients with known sensitivity to amlodipine.<linkHtml href=""/>
                  <linkHtml href=""/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="d30aa4d2-e468-4ced-9774-7cacb077bbff"/>
               <code code="34084-4" codeSystem="2.16.840.1.113883.6.1" displayName="ADVERSE REACTIONS SECTION"/>
               <text>
                  <linkHtml href=""/>6 ADVERSE REACTIONS<linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>6.1 
are headache and edema.</text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="1d54e787-afa3-4931-b9e7-bc3bb021ef15"/>
               <code code="34088-5" codeSystem="2.16.840.1.113883.6.1" displayName="OVERDOSAGE SECTION"/>
               <text>
                  <linkHtml href=""/>10 OVERDOSAGE<br/>Overdosage might be expected to cause excessive peripheral vasodilation with 
marked hypotension and possibly a reflex tachycardia. In humans, experience with 
intentional overdosage of amlodipine is limited.<br/>
                 <sup>2 </sup>basis) caused a marked peripheral vasodilation and 
hypotension.<br/>
                  <br/>If.<linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="706986ac-49d5-4b07-a2b0-d5f75ef311bb"/>
               <code code="34068-7" codeSystem="2.16.840.1.113883.6.1" displayName="DOSAGE &amp; ADMINISTRATION SECTION"/>
               <text>
                  <linkHtml href="#section-"/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>2.1 Adults<br/>
<content styleCode="italics">[see <linkHtml href="#Section_6">Adverse Reactions (6)</linkHtml>].</content>
                  <br/>
                  <content styleCode="italics"/>
                  <br/>The recommended dose range for patients with 
coronary artery disease is 5–10 mg once daily. In clinical studies, the majority 
of patients required 10 mg <content styleCode="italics">[see <linkHtml href="#Section_14.4">Clinical Studies (14.4)</linkHtml>]</content>. <br/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>
                  <linkHtml href=""/>2.2 Children<br/>The effective antihypertensive 
oral dose in pediatric patients ages 6–17 years is 2.5 mg to 5 mg once daily. 
Doses in excess of 5 mg daily have not been studied in pediatric patients <content styleCode="italics">[see <linkHtml href="#Section_12.4">Clinical Pharmacology (12.4)</linkHtml>, <linkHtml href="#Section_14.1">Clinical Studies (14.1)</linkHtml>]</content>.</text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="39f80cec-5fea-490c-a8e9-e4acf96649a4"/>
               <code code="34069-5" codeSystem="2.16.840.1.113883.6.1" displayName="HOW SUPPLIED SECTION"/>
               <text>
                  <linkHtml href=""/>16 HOW SUPPLIED/STORAGE AND HANDLING<br/>
                  <linkHtml href=""/><linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
                  <br/>
                  <linkHtml href=""/>
of 90<linkHtml href=""/>
                  <linkHtml href=""/>
                  <br/>
                  <br/>
                  <linkHtml href=""/>16.3 10 mg Tablets<br/>Amlodipine besylate 
tablets 10 mg (amlodipine besylate equivalent to 10 mg of amlodipine per tablet) 
are white to off white, round, flat-faced, beveled edge tablets ‘209’ debossed 
on one side and plain on the other side and supplied as follows:<br/>NDC 
51991-668-90 Bottle of 90<br/>
                  <br/>
                  <br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="3211934b-8588-4bca-bc0d-16d89c2152a1"/>
               <code code="42230-3" codeSystem="2.16.840.1.113883.6.1" displayName="SPL PATIENT PACKAGE INSERT SECTION"/>
               <text>
                  <linkHtml href=""/>PATIENT PACKAGE INSERT<br/>
                  <content styleCode="bold">
                     <content styleCode="bold">AMLODIPINE BESYLATE TABLETS 2.5 mg, 5 mg, and 
10 mg</content>
                  </content>
                  <br/>
                  <br/>
                  <content styleCode="bold">What is amlodipine besylate?</content>
                  <br/>
                  <br/>
                  <content styleCode="bold">High Blood Pressure (hypertension)</content>
                  <br/>
                  <br/>
                  <content styleCode="bold">Angina</content>
                  <br/>Angina is a pain or discomfort that keeps 
coming back when part of your heart does not get enough blood. Angina feels like 
a pressing or squeezing pain, usually in your chest under the breastbone. 
Sometimes you can feel it in your shoulders, arms, neck, jaws, or back. 
Amlodipine besylate <content styleCode="bold"/>can relieve this pain.<br/>
                  <br/>
                  <content styleCode="bold">Who should not use amlodipine besylate?</content>
                  <br/>Do not use 
amlodipine besylate if you are allergic to amlodipine (the active ingredient in 
amlodipine besylate tablets), or to the inactive ingredients. Your doctor or 
pharmacist can give you a list of these ingredients.<br/>
                  <br/>
                  <content styleCode="bold">What should I tell my doctor before taking amlodipine besylate? 
</content>
                  <br/>Tell your doctor about any prescription and non-prescription 
medicines you are taking, including natural or herbal remedies.<br/>Tell your 
doctor if you: 
<list listType="unordered" ID="ie2a63721-85e3-4273-8fd9-48d010179dd1">
                     <item>ever had heart disease</item>
                     <item>ever had liver problems</item>
                     <item>are pregnant, or plan to become pregnant. Your doctor will decide if 
amlodipine besylate is the best treatment for you.</item>
                     <item>are breast-feeding. Do not breast-feed while taking amlodipine besylate. You 
can stop breast-feeding or take a different medicine.</item>
                  </list>
                  <br/>
                  <content styleCode="bold">How should I take amlodipine besylate?</content>
                  <list listType="unordered" ID="i1c95c31f-953d-4661-8c5a-317bbc09c96a">
                     <item></item>
                     <item>It may be easier to take your dose if you do it at the same time every day, 
such as with breakfast or dinner, or at bedtime. Do not take more than one dose 
of amlodipine besylate at a time.</item>
                     <item>If you miss a dose, take it as soon as you remember. Do not take amlodipine 
besylate if it has been more than 12 hours since you missed your last dose. Wait 
and take the next dose at your regular time.</item>
                     <item>
                        <content styleCode="bold">Other medicines:</content> You can use nitroglycerin and 
amlodipine besylate together. If you take nitroglycerin for angina, don't stop 
taking it while you are taking amlodipine besylate.</item>
                     <item>While you are taking amlodipine besylate, do not stop taking your other 
prescription medicines, including any other blood pressure medicines, without 
talking to your doctor.</item>
                     <item>If you took too much amlodipine besylate, call your doctor or Poison Control 
Center, or go to the nearest hospital emergency room right away.</item>
                  </list>
                  <br/>
                  <content styleCode="bold">What should I avoid while taking amlodipine besylate?</content>
                  <br/>
                  <list listType="unordered" ID="i7c271fb0-d554-40ae-8bcd-752af260043b">
                     <item>
                        <content styleCode="bold">Do not</content> breast-feed. It is not known if amlodipine 
besylate will pass through your milk.</item>
                     <item>
                        <content styleCode="bold">Do not</content> start any new prescription or 
non-prescription medicines or supplements, unless you check with your doctor 
first.</item>
                  </list>
                  <br/>
                  <content styleCode="bold">What are the possible side effects of amlodipine 
besylate?</content>
                  <br/>Amlodipine besylate may cause the following side effects. 
Most side effects are mild or moderate:
<list listType="unordered" ID="i83cb3d3a-99ac-4f4f-8d0b-3bfcb5e29f15">
                     <item>headache</item>
                     <item>swelling of your legs or ankles</item>
                     <item>tiredness, extreme sleepiness</item>
                     <item>stomach pain, nausea</item>
                     <item>dizziness</item>
                     <item>flushing (hot or warm feeling in your face)</item>
                     <item>arrhythmia (irregular heartbeat)</item>
                     <item>heart palpitations (very fast heartbeat)</item>
                  </list>
                  <br/>It is rare, but when you first start taking amlodipine besylate or increase your 
dose, you may have a heart attack or your angina may get worse. If that happens, 
call your doctor right away or go directly to a hospital emergency room.<br/>
                  <br/>Tell your doctor if you are concerned about any side effects you experience. 
These are not all the possible side effects of amlodipine besylate. For a 
complete list, ask your doctor or pharmacist.<br/>
                  <br/>
                  <content styleCode="bold">How do I store amlodipine besylate tablets?</content>
                  <br/>
                  <br/>
                  <content styleCode="bold">General advice about amlodipine besylate</content>
                  <br/><br/>
                  <br/>You can ask your pharmacist or doctor for information about amlodipine 
besylate.<br/>
                  <br/>
                  <br/>
               </text>
               <effectiveTime value="20101104"/>
            </section>
         </component>
         <component>
            <section>
               <id root="3c8a283d-3b42-41e7-aacb-ea355b5d948e"/>
               <code code="51945-4" codeSystem="2.16.840.1.113883.6.1" displayName="PACKAGE LABEL.PRINCIPAL DISPLAY PANEL"/>
               <text>
                  <paragraph>Image of label<renderMultiMedia referencedObject="MM554"/>
                  </paragraph>
               </text>
               <effectiveTime value="20101104"/>
               <component>
                  <observationMedia classCode="OBS" moodCode="EVN" ID="MM554">
                     <text>Image of label</text>
                     <value xsi:type="ED" mediaType="image/jpeg">
                        <reference value="amlodipine besylate 5 mg alkem laboratories limited.jpg"/>
                     </value>
                  </observationMedia>
               </component>
            </section>
         </component>
      </structuredBody>
   </component>
</document>


苯磺酸氨氯地平5 mg
)我很适合做这样的工作,但我没有找到任何例子如何做到这一点。
以前有人使用过这个框架吗?我正在寻找一个例子,在这个例子中,我可以将这个xml文件反序列化到ClinicalDocument类中。

谢谢

我假设您使用的是visual Studio。如果是这样,我认为这是最简单的解决方案: 1.创建一个c#类。 2.然后复制所有XML(从CDA中复制)。 3.然后转到之前创建的类,然后转到编辑>粘贴特殊内容>将XML粘贴为类

这将基于该XML为您创建一个类。然后,要解析任何xml(CDA)(如复制的xml),只需将其反序列化为该类类型,它将创建一个对象,您可以从中提取所有信息。我希望这有帮助

编辑:

反序列化示例:(假定您创建的类称为CDA)


现在,对象文档将包含xml的所有信息。

您需要创建一个XSLT,该XSLT可用于应用CDA转换以输出所需的HTML。为此,您可以使用以下代码:

using(XmlStateReader xr = new XmlStateReader(XmlReader.Create(@"C:\path-to-file.xml")))
{
    var fmtr = new XmlIts1Formatter();
    fmtr.ValidateConformance = false;
    fmtr.GraphAides.Add(new ClinicalDocumentDatatypeFormatter());
    var parseResult = fmtr.Parse(xr, typeof(ClinicalDocument));
    // There is a variable called structure which will contain your
    var cda = parseResult.Structure as ClinicalDocument;
} 

不确定这是否有助于您转换,但这将把CDA读入ClinicalDocument类。

使用C进行简单的XMl解析很简单,但说到标准化XMl数据则不同。可能有一些库可以帮助我解析此类数据。LINQ to XMl就是这样的库之一。您发布的XML片段没有什么特别具有挑战性的。你把XML和HTML混淆了吗?它们是相互关联但又相互独立的事物。我不确定“简单XML”和“标准化XML”是什么意思-XML是标准化的。只要知道CDA模型的结构,就应该能够使用XPath表示法进行解析,还需要记住CDA的模式,以及CDA是否符合线上或线下协议schema@tim我的意思是我需要带的简单文本而不是,因此我需要标记而不是renderMultiMedia等等,您可以使用XSLT应用HL7/CDA/XML的转换来输出HTMLhmm,听起来很棒,是的,我使用的是visual studio,但这是我第一次听说这种工具,您能提供一些关于此功能的链接吗,或者我如何在google上找到它?这就是你的意思吗?我添加了一个带有图片的链接。谢谢,我将尝试使用此工具来查看发生了什么。好的,让我知道它是如何运行的:)我收到了不支持对象的警告。cda变为null。看起来您的XML文件没有正确的根元素。我猜想您得到的错误是“元素‘文档’不受支持”。我认为CDA应该从开始,你能提供一个指南的链接吗?我在谷歌上找不到。非常感谢。该指南可以通过Lulu在这里找到:,它是一本电子书,主要介绍HL7v3消息,而不是CDA本身(尽管数据类型和覆盖RMIM的内容是非常好的参考和非常适用的)。您是否能够解决“元素不受支持”异常?
using(XmlStateReader xr = new XmlStateReader(XmlReader.Create(@"C:\path-to-file.xml")))
{
    var fmtr = new XmlIts1Formatter();
    fmtr.ValidateConformance = false;
    fmtr.GraphAides.Add(new ClinicalDocumentDatatypeFormatter());
    var parseResult = fmtr.Parse(xr, typeof(ClinicalDocument));
    // There is a variable called structure which will contain your
    var cda = parseResult.Structure as ClinicalDocument;
}