前提・実現したいこと
(6/21コメントをもとに質問を全面的に修正しました)下方のXMLファイル中にある特定の要素、ここではAttributes 内のmaterial のキーワードだけ(soil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれており、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とない場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとしてidとともにタブ区切りで出力したいと考えております(以下が最終的に実現したいこと)。
[outputファイル]
SAMD00000001^ soil
SAMD00000002^ missing
SAMD00000003^ water
…と続いていきます。
発生している問題・エラーメッセージ
以下の通り、Attributesの全てのワードが出てくる状況です。また、その情報をidと一緒に出力できない。
該当のコマンド
xmllint --xpath "/BioSample/Ids/Id/text()" testbiosample.xml # 結果、id SAMD00000001 が抽出される xmllint --xpath "/BioSample/Attributes/Attribute/text()" testbiosample.xml # 結果、以下の通りAttributesの全てのワードが出てくる DOA9 grassland N/A grassland Thailand N/A soil Genetic diversity of Bradyrhizobium strains isolated from root nodules of Aeschynomene americana 22752179 2 22752179 symbiont Aeschynomene americana PRJDB1640 BDOA9
testbiosample.xml
<BioSample access="public" publication_date="2014-04-07T00:00:00+09:00" last_update="2014-09-25T09:58:01+09:00"> <Ids> <Id is_primary="1" namespace="BioSample">SAMD00000001</Id> </Ids> <Description> <SampleName>Bradyrhizobium sp. DOA9</SampleName> <Title>MIGS Cultured Bacterial/Archaeal sample from Bradyrhizobium sp. DOA9</Title> <Organism taxonomy_id="1126627"> <OrganismName>Bradyrhizobium sp. DOA9</OrganismName> </Organism> </Description> <Owner> <Name url="-----">Tokyo University of Agriculture and Technology</Name> </Owner> <Models> <Model>MIGS.ba</Model> </Models> <Attributes> <Attribute attribute_name="strain">DOA9</Attribute> <Attribute attribute_name="biome">grassland</Attribute> <Attribute attribute_name="collection_date">N/A</Attribute> <Attribute attribute_name="feature">grassland</Attribute> <Attribute attribute_name="geo_loc_name">Thailand</Attribute> <Attribute attribute_name="lat_lon">N/A</Attribute> <Attribute attribute_name="material">soil</Attribute> <Attribute attribute_name="project_name">Genetic diversity of Bradyrhizobium strains isolated from root nodules of Aeschynomene americana</Attribute> <Attribute attribute_name="isol_growth_condt">22752179</Attribute> <Attribute attribute_name="num_replicons">2</Attribute> <Attribute attribute_name="ref_biomaterial">22752179</Attribute> <Attribute attribute_name="biotic_relationship">symbiont</Attribute> <Attribute attribute_name="specific_host">Aeschynomene americana</Attribute> <Attribute attribute_name="bioproject_id">PRJDB1640</Attribute> <Attribute attribute_name="locus_tag_prefix">BDOA9</Attribute> </Attributes> <Links> <Link label="pubmed" type="db_xref">22752179</Link> </Links> </BioSample> # 本来はこの下に次のidの情報が続きます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 05:06 編集
2020/06/21 11:23
2020/06/22 12:40