我需要创建XML文档,但希望使用Excel自动执行该过程,因为我无法将数百个值复制并粘贴到XML文档中。我是Excel的这个功能的新手,但是我遇到了元素布局的问题。这是最终XML文档的示例:
<?xml version="1.0" encoding="UTF-8"?>
<ANALYSIS_SET>
<ANALYSIS alias="Test Analysis 1" center_name="NeurOmics" broker_name="EGA" xmlns:com="SRA.common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TITLE>Bed data hsp 1</TITLE>
<DESCRIPTION>Test of NeurOmics Tuebingen HSP Data 1</DESCRIPTION>
<STUDY_REF accession="EGAS00001000697"></STUDY_REF>
<SAMPLE_REF accession="EGAN00001409012"></SAMPLE_REF>
<RUN_REF accession="EGAR00001446342"></RUN_REF>
<SAMPLE_REF accession="EGAN00001409040"></SAMPLE_REF>
<RUN_REF accession="EGAR00001446343"></RUN_REF>
<SAMPLE_REF accession="EGAN00001404184"></SAMPLE_REF>
<RUN_REF accession="EGAR000016818343"></RUN_REF>
<SAMPLE_REF accession="EGAN0000148740"></SAMPLE_REF>
<RUN_REF accession="EGAR00001431643"></RUN_REF>
<ANALYSIS_TYPE>
<SEQUENCE_ANNOTATION/>
</ANALYSIS_TYPE>
<FILES>
<FILE filename="TUE-hpHSPv2_TargetRegions.bed" filetype="bed"/>
</FILES>
</ANALYSIS>
<ANALYSIS alias="Test Analysis 2" center_name="NeurOmics" broker_name="EGA" xmlns:com="SRA.common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TITLE>BED data ataxia 1</TITLE>
<DESCRIPTION>Test of NeurOmics Tuebingen Ataxia Data 1</DESCRIPTION>
<STUDY_REF accession="EGAS00001000694"></STUDY_REF>
<SAMPLE_REF accession="EGAN00001408934"></SAMPLE_REF>
<RUN_REF accession="EGAR00001446272"></RUN_REF>
<SAMPLE_REF accession="EGAN00001408935"></SAMPLE_REF>
<RUN_REF accession="EGAR00001446271"></RUN_REF>
<ANALYSIS_TYPE>
<SEQUENCE_ANNOTATION/>
</ANALYSIS_TYPE>
<FILES>
<FILE filename="TUE-hpSCAv1_TargetRegions.bed" filetype="bed"/>
</FILES>
</ANALYSIS>
我遇到问题的部分是元素SAMPLE_REF
和RUN_REF
,因为在每个ANALYSIS
部分中,可以有任意数量的这些配对值。其余我认为我可以弄明白,现在我只是试图以我可以复制到XML文档的格式中获取该部分,因为这是一直需要的部分。无论如何,我为Excel设置了这个XSD
文件:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ANALYSIS_SET">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ANALYSIS" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<!-- single sample information -->
<xsd:element name="refname" type="xsd:string"/>
<xsd:element name="accession" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
然后,我将其链接到Excel电子表格,其中包含refname
列和accession
列,然后导出到XML。这就是我得到的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ANALYSIS_SET>
<ANALYSIS>
<refname>GS130178</refname>
<accession>EGAR00001446342</accession>
</ANALYSIS>
<ANALYSIS>
<refname>GS130627</refname>
<accession>EGAR00001446343</accession>
</ANALYSIS>
<ANALYSIS>
<refname>GS130781</refname>
<accession>EGAR00001446344</accession>
</ANALYSIS>
<ANALYSIS>
<refname>GS130782</refname>
<accession>EGAR00001446345</accession>
</ANALYSIS>
<ANALYSIS>
<refname>GS130783</refname>
<accession>EGAR00001446346</accession>
</ANALYSIS>
<ANALYSIS>
<refname>GS130843</refname>
<accession>EGAR00001446348</accession>
</ANALYSIS>
<ANALYSIS_SET>
我遇到的问题是我不希望每对都嵌套在ANALYSIS
标记中,我希望所有refname
- accession
对都在一个{ {1}}部分。