質問編集履歴

3

誤字

2020/06/21 11:27

投稿

kakuko
kakuko

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- (6/21コメントをもとに質問を全面的に修正しました)XMLファイルが閉じタグがないもをuploadしており、また構造が不正確であったため、全面的に修正しました。XMLファイル中にある特定の要素、Attributes 内のmaterial のキーワードだけ(ここではsoil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれており、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とない場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとしてidとともにタブ区切りで出力したいと考えております(以下が最終的に実現したいこと)。
5
+ (6/21コメントをもとに質問を全面的に修正しました)下方のXMLファイル中にある特定の要素、ここではAttributes 内のmaterial のキーワードだけ(soil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれており、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とない場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとしてidとともにタブ区切りで出力したいと考えております(以下が最終的に実現したいこと)。
6
6
 
7
7
 
8
8
 
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- 以下の通り、Attributesの全てのワードが出てくる状況です。また、その情報をidとともに出力できない。
23
+ 以下の通り、Attributesの全てのワードが出てくる状況です。また、その情報をidと一緒に出力できない。
24
24
 
25
25
 
26
26
 

2

誤字

2020/06/21 11:27

投稿

kakuko
kakuko

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 追記)XMLファイルが閉じタグがないものをuploadしており、また構造が不正確であったため、全面的に修正しました。XMLファイル中にある特定の要素、Attributes 内のmaterial のキーワードだけ(ここではsoil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれており、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とない場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとしてidとともにタブ区切りで出力したいと考えております(以下が最終的に実現したいこと)。
5
+ 6/21コメントをもとに質問を全面的に修正しました)XMLファイルが閉じタグがないものをuploadしており、また構造が不正確であったため、全面的に修正しました。XMLファイル中にある特定の要素、Attributes 内のmaterial のキーワードだけ(ここではsoil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれており、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とない場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとしてidとともにタブ区切りで出力したいと考えております(以下が最終的に実現したいこと)。
6
6
 
7
7
 
8
8
 

1

文章、書式の全面的に改善しました。

2020/06/21 11:25

投稿

kakuko
kakuko

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,77 +2,25 @@
2
2
 
3
3
 
4
4
 
5
- 最終目的は、特定ID参照させな、XMLファイル中に必ず記載されている要素を抽出・出力ていく処理をしたいのですが
6
-
7
- https://teratail.com/questions/271498
5
+ (追記)XMLファイルが閉じタグがないものをuploadしており、また構造不正確であったため全面的に修正しました。XMLファイル中に特定の要素、Attributes 内のmaterial のキーワードだけ(ここではsoil)を抽出・出力できない。また実際のファイルは、同様の形式で複数のidの情報が数万行で含まれおり、idは必ずあるものの、Attributes 内にmaterialの項目がある場合とな場合があります。項目がある場合はそのまま、また、ない場合はスキップするか、あるいはmissingとてidとともにタブ区切りで出力したいと考えておりま(以下最終的に実現したいこと)。
8
6
 
9
7
 
10
8
 
11
- その前段階として、xpathで要素そのものを抽出することにうまくいっておりません。試したコマンドやXMLファイルは下方の通りですが、
9
+ [outputファイル]
12
10
 
11
+ SAMD00000001^ soil
13
12
 
13
+ SAMD00000002^ missing
14
14
 
15
- <BioSample access="public" publication_date="2015-11-08T00:00:00.000" last_update="2019-06-20T17:16:02.371" submission_date="2015-05-28T09:58:39.000" id="3741962" accession="SAMN03741962">
15
+ SAMD00000003^ water
16
16
 
17
- あるいは
18
-
19
- <Id db="BioSample" is_primary="1">SAMN03741962</Id>
20
-
21
- の中にある
22
-
23
- 「SAMN03741962」
17
+ …と続いていきます。
24
-
25
-
26
-
27
- また、
28
-
29
-
30
-
31
- <Attribute attribute_name="isolation_source" harmonized_name="isolation_source" display_name="isolation source">surface water</Attribute>
32
-
33
- の中にある
34
-
35
- 「surface water」
36
-
37
-
38
-
39
- のこれら2種のキーワード(SAMN03741962とsurface water)を抽出したいと考えております。属性や子要素の理解が不十分であるからと思いますが、もしよろしければ、コメントいただけましたら幸いです。
40
-
41
-
42
18
 
43
19
  ### 発生している問題・エラーメッセージ
44
20
 
45
21
 
46
22
 
47
- ```
48
-
49
- warning: failed to load external entity "/BioSampleSet/Attribute/@isolation source"
50
-
51
- testbiosample.xml:108: parser error : Opening and ending tag mismatch: Ids line 56 and BioSample
52
-
53
- </BioSample>
54
-
55
- ^
56
-
57
- testbiosample.xml:160: parser error : Premature end of data in tag BioSample line 109
58
-
59
-
60
-
61
- ^
62
-
63
- testbiosample.xml:160: parser error : Premature end of data in tag BioSample line 55
23
+ 以下の通り、Attributesの全てのワードが出てくる状況です。また、その情報をidとともに出力できない。
64
-
65
-
66
-
67
- ^
68
-
69
- testbiosample.xml:160: parser error : Premature end of data in tag BioSampleSet line 2
70
-
71
-
72
-
73
- ^
74
-
75
- ```
76
24
 
77
25
 
78
26
 
@@ -82,234 +30,136 @@
82
30
 
83
31
  ```
84
32
 
85
- xmllint --xpath expr "/BioSampleSet/BioSample/Ids/Id/@db" testbiosample.xml
33
+ xmllint --xpath "/BioSample/Ids/Id/text()" testbiosample.xml
86
34
 
35
+ # 結果、id SAMD00000001 が抽出される
36
+
87
- xmllint --xpath expr "/BioSampleSet/Attribute/@isolation source" testbiosample.xml
37
+ xmllint --xpath "/BioSample/Attributes/Attribute/text()" testbiosample.xml
38
+
39
+ # 結果、以下の通りAttributesの全てのワードが出てくる
40
+
41
+ DOA9
42
+
43
+ grassland
44
+
45
+ N/A
46
+
47
+ grassland
48
+
49
+ Thailand
50
+
51
+ N/A
52
+
53
+ soil
54
+
55
+ Genetic diversity of Bradyrhizobium strains isolated from root nodules of Aeschynomene americana
56
+
57
+ 22752179
58
+
59
+ 2
60
+
61
+ 22752179
62
+
63
+ symbiont
64
+
65
+ Aeschynomene americana
66
+
67
+ PRJDB1640
68
+
69
+ BDOA9
88
70
 
89
71
  ```
90
72
 
91
73
 
92
74
 
93
- ### 該当のXMLファイル
75
+ ### testbiosample.xml
76
+
77
+ ```
78
+
79
+ <BioSample access="public" publication_date="2014-04-07T00:00:00+09:00" last_update="2014-09-25T09:58:01+09:00">
80
+
81
+ <Ids>
82
+
83
+ <Id is_primary="1" namespace="BioSample">SAMD00000001</Id>
84
+
85
+ </Ids>
86
+
87
+ <Description>
88
+
89
+ <SampleName>Bradyrhizobium sp. DOA9</SampleName>
90
+
91
+ <Title>MIGS Cultured Bacterial/Archaeal sample from Bradyrhizobium sp. DOA9</Title>
92
+
93
+ <Organism taxonomy_id="1126627">
94
+
95
+ <OrganismName>Bradyrhizobium sp. DOA9</OrganismName>
96
+
97
+ </Organism>
98
+
99
+ </Description>
100
+
101
+ <Owner>
102
+
103
+ <Name url="-----">Tokyo University of Agriculture and Technology</Name>
104
+
105
+ </Owner>
106
+
107
+ <Models>
108
+
109
+ <Model>MIGS.ba</Model>
110
+
111
+ </Models>
112
+
113
+ <Attributes>
114
+
115
+ <Attribute attribute_name="strain">DOA9</Attribute>
116
+
117
+ <Attribute attribute_name="biome">grassland</Attribute>
118
+
119
+ <Attribute attribute_name="collection_date">N/A</Attribute>
120
+
121
+ <Attribute attribute_name="feature">grassland</Attribute>
122
+
123
+ <Attribute attribute_name="geo_loc_name">Thailand</Attribute>
124
+
125
+ <Attribute attribute_name="lat_lon">N/A</Attribute>
126
+
127
+ <Attribute attribute_name="material">soil</Attribute>
128
+
129
+ <Attribute attribute_name="project_name">Genetic diversity of Bradyrhizobium strains isolated from root nodules of Aeschynomene americana</Attribute>
130
+
131
+ <Attribute attribute_name="isol_growth_condt">22752179</Attribute>
132
+
133
+ <Attribute attribute_name="num_replicons">2</Attribute>
134
+
135
+ <Attribute attribute_name="ref_biomaterial">22752179</Attribute>
136
+
137
+ <Attribute attribute_name="biotic_relationship">symbiont</Attribute>
138
+
139
+ <Attribute attribute_name="specific_host">Aeschynomene americana</Attribute>
140
+
141
+ <Attribute attribute_name="bioproject_id">PRJDB1640</Attribute>
142
+
143
+ <Attribute attribute_name="locus_tag_prefix">BDOA9</Attribute>
144
+
145
+ </Attributes>
146
+
147
+ <Links>
148
+
149
+ <Link label="pubmed" type="db_xref">22752179</Link>
150
+
151
+ </Links>
152
+
153
+ </BioSample>
94
154
 
95
155
 
96
156
 
97
- ```XML
98
-
99
- <?xml version="1.0" encoding="UTF-8"?>
100
-
101
- <BioSampleSet>
102
-
103
- <BioSample access="public" publication_date="2015-11-08T00:00:00.000" last_update="2019-06-20T17:16:02.371" submission_date="2015-05-28T09:58:39.000" id="3741962" accession="SAMN03741962">
104
-
105
- <Ids>
106
-
107
- <Id db="BioSample" is_primary="1">SAMN03741962</Id>
108
-
109
- <Id db_label="Sample name">BACL4 MAG-120507-bin80</Id>
110
-
111
- </Ids>
112
-
113
- <Description>
114
-
115
- <Title>Microbe sample from OM182 bacterium BACL3 MAG-120507-bin80</Title>
116
-
117
- <Organism taxonomy_id="1655577" taxonomy_name="OM182 bacterium BACL3 MAG-120507-bin80">
118
-
119
- <OrganismName>OM182 bacterium BACL3 MAG-120507-bin80</OrganismName>
120
-
121
- </Organism>
122
-
123
- <Comment>
124
-
125
- <Paragraph>Genome assembled from metagenome sample SAMN03351369</Paragraph>
126
-
127
- </Comment>
128
-
129
- </Description>
130
-
131
- <Owner>
132
-
133
- <Name>Kungliga Tekniska Hogskolan, Science for Life Laboratory</Name>
134
-
135
- <Contacts>
136
-
137
- <Contact email="luisa.hugerth@scilifelab.se">
138
-
139
- <Name>
140
-
141
- <First>Luisa</First>
142
-
143
- <Last>Hugerth</Last>
144
-
145
- <Middle>W</Middle>
146
-
147
- </Name>
148
-
149
- </Contact>
150
-
151
- </Contacts>
152
-
153
- </Owner>
154
-
155
- <Models>
156
-
157
- <Model>Microbe, viral or environmental</Model>
158
-
159
- </Models>
160
-
161
- <Package display_name="Microbe; version 1.0">Microbe.1.0</Package>
162
-
163
- <Attributes>
164
-
165
- <Attribute attribute_name="strain" harmonized_name="strain" display_name="strain">not applicable</Attribute>
166
-
167
- <Attribute attribute_name="Salinity (PSU)">6.6</Attribute>
168
-
169
- <Attribute attribute_name="depth" harmonized_name="depth" display_name="depth">2</Attribute>
170
-
171
- <Attribute attribute_name="env_biome" harmonized_name="env_broad_scale" display_name="broad-scale environmental context">Brackish water</Attribute>
172
-
173
- <Attribute attribute_name="collection_date" harmonized_name="collection_date" display_name="collection date">07-May-2012</Attribute>
174
-
175
- <Attribute attribute_name="temp" harmonized_name="temp" display_name="temperature">5.6</Attribute>
176
-
177
- <Attribute attribute_name="environmental-sample">TRUE</Attribute>
178
-
179
- <Attribute attribute_name="sample_type" harmonized_name="sample_type" display_name="sample type">Metagenomic Assembly</Attribute>
180
-
181
- <Attribute attribute_name="isolation_source" harmonized_name="isolation_source" display_name="isolation source">surface water</Attribute>
182
-
183
- <Attribute attribute_name="geo_loc_name" harmonized_name="geo_loc_name" display_name="geographic location">Baltic Sea</Attribute>
184
-
185
- <Attribute attribute_name="lat_lon" harmonized_name="lat_lon" display_name="latitude and longitude">56.930850 N 17.060667 E</Attribute>
186
-
187
- <Attribute attribute_name="metagenomic">TRUE</Attribute>
188
-
189
- <Attribute attribute_name="metagenome-source">marine metagenome</Attribute>
190
-
191
- <Attribute attribute_name="isolation-source" harmonized_name="isolation_source" display_name="isolation source">brackish water collected from the surface of the Baltic Sea</Attribute>
192
-
193
- <Attribute attribute_name="isolate" harmonized_name="isolate" display_name="isolate">BACL4 MAG-120507-bin80</Attribute>
194
-
195
- </Attributes>
196
-
197
- <Links>
198
-
199
- <Link target="bioproject" type="entrez" label="PRJNA273799">273799</Link>
200
-
201
- </Links>
202
-
203
- <Status status="live" when="2015-11-08T06:44:46.013"/>
204
-
205
- </BioSample>
157
+ # 本来はこの下に次のidの情報が続きます。
206
-
207
- <BioSample access="public" publication_date="2015-11-08T06:44:46.060" last_update="2015-11-08T06:44:46.060" submission_date="2015-05-28T09:58:39.470" id="3741963" accession="SAMN03741963">
208
-
209
- <Ids>
210
-
211
- --
212
-
213
- <Ids>
214
-
215
- <Id db="BioSample" is_primary="1">SAMN03741963</Id>
216
-
217
- <Id db_label="Sample name">BACL4 MAG-120813-bin39</Id>
218
-
219
- </Ids>
220
-
221
- <Description>
222
-
223
- <Title>Microbe sample from Actinobacteria bacterium BACL4 MAG-120813-bin39</Title>
224
-
225
- <Organism taxonomy_id="1655578" taxonomy_name="Actinobacteria bacterium BACL4 MAG-120813-bin39">
226
-
227
- <OrganismName>Actinobacteria bacterium BACL4 MAG-120813-bin39</OrganismName>
228
-
229
- </Organism>
230
-
231
- <Comment>
232
-
233
- <Paragraph>Genome assembled from metagenome sample SAMN03351393</Paragraph>
234
-
235
- </Comment>
236
-
237
- </Description>
238
-
239
- <Owner>
240
-
241
- <Name>Kungliga Tekniska Hogskolan, Science for Life Laboratory</Name>
242
-
243
- <Contacts>
244
-
245
- <Contact email="luisa.hugerth@scilifelab.se">
246
-
247
- <Name>
248
-
249
- <First>Luisa</First>
250
-
251
- <Last>Hugerth</Last>
252
-
253
- <Middle>W</Middle>
254
-
255
- </Name>
256
-
257
- </Contact>
258
-
259
- </Contacts>
260
-
261
- </Owner>
262
-
263
- <Models>
264
-
265
- <Model>Microbe, viral or environmental</Model>
266
-
267
- </Models>
268
-
269
- <Package display_name="Microbe; version 1.0">Microbe.1.0</Package>
270
-
271
- <Attributes>
272
-
273
- <Attribute attribute_name="strain" harmonized_name="strain" display_name="strain">not applicable</Attribute>
274
-
275
- <Attribute attribute_name="Salinity (PSU)">6.2</Attribute>
276
-
277
- <Attribute attribute_name="depth" harmonized_name="depth" display_name="depth">2</Attribute>
278
-
279
- <Attribute attribute_name="env_biome" harmonized_name="env_broad_scale" display_name="broad-scale environmental context">Brackish water</Attribute>
280
-
281
- <Attribute attribute_name="collection_date" harmonized_name="collection_date" display_name="collection date">13-Aug-2012</Attribute>
282
-
283
- <Attribute attribute_name="temp" harmonized_name="temp" display_name="temperature">18.2</Attribute>
284
-
285
- <Attribute attribute_name="environmental-sample">TRUE</Attribute>
286
-
287
- <Attribute attribute_name="sample_type" harmonized_name="sample_type" display_name="sample type">Metagenomic Assembly</Attribute>
288
-
289
- <Attribute attribute_name="isolation_source" harmonized_name="isolation_source" display_name="isolation source">surface water</Attribute>
290
-
291
- <Attribute attribute_name="geo_loc_name" harmonized_name="geo_loc_name" display_name="geographic location">Baltic Sea</Attribute>
292
-
293
- <Attribute attribute_name="lat_lon" harmonized_name="lat_lon" display_name="latitude and longitude">56.930850 N 17.060667 E</Attribute>
294
-
295
- <Attribute attribute_name="metagenomic">TRUE</Attribute>
296
-
297
- <Attribute attribute_name="metagenome-source">marine metagenome</Attribute>
298
-
299
- <Attribute attribute_name="isolation-source" harmonized_name="isolation_source" display_name="isolation source">brackish water collected from the surface of the Baltic Sea</Attribute>
300
-
301
- <Attribute attribute_name="isolate" harmonized_name="isolate" display_name="isolate">BACL4 MAG-120813-bin39</Attribute>
302
-
303
- </Attributes>
304
-
305
- <Links>
306
-
307
- <Link target="bioproject" type="entrez" label="PRJNA273799">273799</Link>
308
-
309
- </Links>
310
-
311
- <Status status="live" when="2015-11-08T06:44:46.060"/>
312
-
313
- </BioSample>
314
158
 
315
159
  ```
160
+
161
+
162
+
163
+
164
+
165
+ ```