Removing text from multiple tags from each in xml
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I'm struggling with this problem with a large xml file with a root of 'articles' and containing many individual articles under the tag 'article>. What I'm hoping to do is for each 'article' in 'articles' collect all text within the 'p' tags. An 'article' can have multiple 'p' tags as illustrated in below:
<articles>
<article title="Blah" published-at="2018-01-01" id="00000">
<p>Here is some text.</p>
<p>Another line of text.</p>
<a type="external" href="https://www.website.com/">Image</a>
<p>Final line of text.</p>
</article>
<article title="Second blah" published-at="2018-01-02" id="00001">
<p>Here is some new text.</p>
<p>Final line of new text.</p>
</article>
</articles>
So what I wanted to do was iterate over each article and generate a single line containing all text in the 'p' tags, not caring if I picked up the links and associated text in the 'a' tags.
I was hoping something like this would work but it produced a text file that was not separated by each respective 'article'
text =
for p in root.iter('p'):
text.append(p.text)
with open("text.txt", "w", encoding = 'utf-8') as output:
output.write(str(text))
Any help would be sincerely appreciated as this is a very difficult question for me to express in a search.
xml python-3.x
add a comment |
I'm struggling with this problem with a large xml file with a root of 'articles' and containing many individual articles under the tag 'article>. What I'm hoping to do is for each 'article' in 'articles' collect all text within the 'p' tags. An 'article' can have multiple 'p' tags as illustrated in below:
<articles>
<article title="Blah" published-at="2018-01-01" id="00000">
<p>Here is some text.</p>
<p>Another line of text.</p>
<a type="external" href="https://www.website.com/">Image</a>
<p>Final line of text.</p>
</article>
<article title="Second blah" published-at="2018-01-02" id="00001">
<p>Here is some new text.</p>
<p>Final line of new text.</p>
</article>
</articles>
So what I wanted to do was iterate over each article and generate a single line containing all text in the 'p' tags, not caring if I picked up the links and associated text in the 'a' tags.
I was hoping something like this would work but it produced a text file that was not separated by each respective 'article'
text =
for p in root.iter('p'):
text.append(p.text)
with open("text.txt", "w", encoding = 'utf-8') as output:
output.write(str(text))
Any help would be sincerely appreciated as this is a very difficult question for me to express in a search.
xml python-3.x
add a comment |
I'm struggling with this problem with a large xml file with a root of 'articles' and containing many individual articles under the tag 'article>. What I'm hoping to do is for each 'article' in 'articles' collect all text within the 'p' tags. An 'article' can have multiple 'p' tags as illustrated in below:
<articles>
<article title="Blah" published-at="2018-01-01" id="00000">
<p>Here is some text.</p>
<p>Another line of text.</p>
<a type="external" href="https://www.website.com/">Image</a>
<p>Final line of text.</p>
</article>
<article title="Second blah" published-at="2018-01-02" id="00001">
<p>Here is some new text.</p>
<p>Final line of new text.</p>
</article>
</articles>
So what I wanted to do was iterate over each article and generate a single line containing all text in the 'p' tags, not caring if I picked up the links and associated text in the 'a' tags.
I was hoping something like this would work but it produced a text file that was not separated by each respective 'article'
text =
for p in root.iter('p'):
text.append(p.text)
with open("text.txt", "w", encoding = 'utf-8') as output:
output.write(str(text))
Any help would be sincerely appreciated as this is a very difficult question for me to express in a search.
xml python-3.x
I'm struggling with this problem with a large xml file with a root of 'articles' and containing many individual articles under the tag 'article>. What I'm hoping to do is for each 'article' in 'articles' collect all text within the 'p' tags. An 'article' can have multiple 'p' tags as illustrated in below:
<articles>
<article title="Blah" published-at="2018-01-01" id="00000">
<p>Here is some text.</p>
<p>Another line of text.</p>
<a type="external" href="https://www.website.com/">Image</a>
<p>Final line of text.</p>
</article>
<article title="Second blah" published-at="2018-01-02" id="00001">
<p>Here is some new text.</p>
<p>Final line of new text.</p>
</article>
</articles>
So what I wanted to do was iterate over each article and generate a single line containing all text in the 'p' tags, not caring if I picked up the links and associated text in the 'a' tags.
I was hoping something like this would work but it produced a text file that was not separated by each respective 'article'
text =
for p in root.iter('p'):
text.append(p.text)
with open("text.txt", "w", encoding = 'utf-8') as output:
output.write(str(text))
Any help would be sincerely appreciated as this is a very difficult question for me to express in a search.
xml python-3.x
xml python-3.x
asked Nov 29 '18 at 5:59
nlpnlp
1
1
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Python has xml.etree.ElementTree library (among others) for working with XML and with it you can do:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
text =
for article in root.findall('article'):
for paragraph in article.findall('p'):
text.append(paragraph.text)
paragraph.text = ''
tree.write('output.xml')
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532735%2fremoving-text-from-multiple-p-tags-from-each-article-in-xml%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Python has xml.etree.ElementTree library (among others) for working with XML and with it you can do:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
text =
for article in root.findall('article'):
for paragraph in article.findall('p'):
text.append(paragraph.text)
paragraph.text = ''
tree.write('output.xml')
add a comment |
Python has xml.etree.ElementTree library (among others) for working with XML and with it you can do:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
text =
for article in root.findall('article'):
for paragraph in article.findall('p'):
text.append(paragraph.text)
paragraph.text = ''
tree.write('output.xml')
add a comment |
Python has xml.etree.ElementTree library (among others) for working with XML and with it you can do:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
text =
for article in root.findall('article'):
for paragraph in article.findall('p'):
text.append(paragraph.text)
paragraph.text = ''
tree.write('output.xml')
Python has xml.etree.ElementTree library (among others) for working with XML and with it you can do:
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
text =
for article in root.findall('article'):
for paragraph in article.findall('p'):
text.append(paragraph.text)
paragraph.text = ''
tree.write('output.xml')
answered Nov 29 '18 at 10:23
ShadowchaserShadowchaser
864
864
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532735%2fremoving-text-from-multiple-p-tags-from-each-article-in-xml%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown