Hey,
I need to parse the following XML to just grab the Customer ID.
Is there any RegEx that can achieve this ?
So in this example, the script just return 0000109654, as the output.
Even if it involves awk, sed please let me know.
************
<?xml version="1.0" encoding="UTF-8"?>... (1 Reply)
Hi,
I have to make an script according to these:
- I have couples of files like:
xxxxxxxxxxxxx.csv
xxxxxxxxxxxxx_desc.xml
- every xml file has diferent fields, but keeps this format:
........
<defaultName>2011-02-25T16:43:43.582Z</defaultName>
........... (2 Replies)
I have a xml file in where I need to parse only a particular tag and print the output in the shell script.
Here is the tag info in the xml file
<dp:file> This is dp file output </dp:file>
Output should be printed as
This is dp file output.
Please help.Thank you. (5 Replies)
Hi All,
I need a help on inserting a XML tag.
Actual input
<var>
<nam>abcd</nam>
<a1>.</a1>
</var>
if tag <a1>.</a1> is getting missed in XML like below
<var>
<nam>abcd</nam>
</var>
i need to insert wherever it is missed after <nam> tag and before </var> tag.
Could anyone... (3 Replies)
Hi Guys
Here is my Input :
<?xml version="1.0" encoding="UTF-8"?>
<xn:MeContext id="01736">
<xn:VsDataContainer id="01736">
<xn:attributes>
<xn:vsDataType>vsDataMeContext</xn:vsDataType>
... (12 Replies)
I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help
File:
<xml><object1>house</object1><object2>child</object2>... (9 Replies)
Greetings all,
I have an XML file that is being generated from my application, here is a sample of the first tag (That I am trying to remove and display in a list..)
Example-
<tag one= "data" data="1234" updateTime="1300">
<tag one= "data1" data="1234" updateTime="1300">
<tag... (5 Replies)
Hi Forum.
I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script.
Any feedback will be greatly appreciated.
... (19 Replies)
Hello,
I want to parse the contents of a multiline html tag
ex:
<html>
<body>
<p>some other text</p>
<div>
<p class="margin-bottom-0">
text1
<br>
text2
<br>
<br>
text3
</p>
</div>
</body> (15 Replies)
Discussion started by: SorcRR
15 Replies
LEARN ABOUT DEBIAN
mkdoc::xml::tokenizer
MKDoc::XML::Tokenizer(3pm) User Contributed Perl Documentation MKDoc::XML::Tokenizer(3pm)NAME
MKDoc::XML::Tokenizer - Tokenize XML the REX way
SYNOPSIS
my $tokens = MKDoc::XML::Tokenizer->process_data ($some_xml);
foreach my $token (@{$tokens})
{
print "'" . $token->as_string() . "' is text
" if (defined $token->text());
print "'" . $token->as_string() . "' is a self closing tag
" if (defined $token->tag_self_close());
print "'" . $token->as_string() . "' is an opening tag
" if (defined $token->tag_open());
print "'" . $token->as_string() . "' is a closing tag
" if (defined $token->tag_close());
print "'" . $token->as_string() . "' is a processing instruction
" if (defined $token->pi());
print "'" . $token->as_string() . "' is a declaration
" if (defined $token->declaration());
print "'" . $token->as_string() . "' is a comment
" if (defined $token->comment());
print "'" . $token->as_string() . "' is a tag
" if (defined $token->tag());
print "'" . $token->as_string() . "' is a pseudo-tag (NOT text and NOT tag)
" if (defined $token->pseudotag());
print "'" . $token->as_string() . "' is a leaf token (NOT opening tag)
" if (defined $token->leaf());
}
SUMMARY
MKDoc::XML::Tokenizer is a module which uses Robert D. Cameron REX technique to parse XML (ignore the carriage returns):
[^<]+|<(?:!(?:--(?:[^-]*-(?:[^-][^-]*-)*->?)?|[CDATA[(?:[^]]*](?:[^]]+])
*]+(?:[^]>][^]]*](?:[^]]+])*]+)*>)?|DOCTYPE(?:[
]+(?:[A-Za-z_:]|[^
x00-x7F])(?:[A-Za-z0-9_:.-]|[^x00-x7F])*(?:[
]+(?:(?:[A-Za-z_:]|[^
x00-x7F])(?:[A-Za-z0-9_:.-]|[^x00-x7F])*|"[^"]*"|'[^']*'))*(?:[
]+)
?(?:[(?:<(?:!(?:--[^-]*-(?:[^-][^-]*-)*->|[^-](?:[^]"'><]+|"[^"]*"|'[^']*'
)*>)|?(?:[A-Za-z_:]|[^x00-x7F])(?:[A-Za-z0-9_:.-]|[^x00-x7F])*(?:?>|[
n
][^?]*?+(?:[^>?][^?]*?+)*>))|%(?:[A-Za-z_:]|[^x00-x7F])(?:[A-Za-z0
-9_:.-]|[^x00-x7F])*;|[
]+)*](?:[
]+)?)?>?)?)?|?(?:(?:[A-Za-z
_:]|[^x00-x7F])(?:[A-Za-z0-9_:.-]|[^x00-x7F])*(?:?>|[
][^?]*?+(?
:[^>?][^?]*?+)*>)?)?|/(?:(?:[A-Za-z_:]|[^x00-x7F])(?:[A-Za-z0-9_:.-]|[^x
00-x7F])*(?:[
]+)?>?)?|(?:(?:[A-Za-z_:]|[^x00-x7F])(?:[A-Za-z0-9_:.
-]|[^x00-x7F])*(?:[
]+(?:[A-Za-z_:]|[^x00-x7F])(?:[A-Za-z0-9_:.-]|
[^x00-x7F])*(?:[
]+)?=(?:[
]+)?(?:"[^<"]*"|'[^<']*'))*(?:[
t
]+)?/?>?)?)
That's right. One big regex, and it works rather well.
DISCLAIMER
This module does low level XML manipulation. It will somehow parse even broken XML and try to do something with it. Do not use it unless
you know what you're doing.
API
my $tokens = MKDoc::XML::Tokenizer->process_data ($some_xml);
Splits $some_xml into a list of MKDoc::XML::Token objects and returns an array reference to the list of tokens.
my $tokens = MKDoc::XML::Tokenizer->process_file ('/some/file.xml');
Same as MKDoc::XML::Tokenizer->process_data ($some_xml), except that it reads $some_xml from '/some/file.xml'.
NOTES
MKDoc::XML::Tokenizer works with MKDoc::XML::Token, which can be used when building a full tree is not necessary. If you need to build a
tree, look at MKDoc::XML::TreeBuilder.
AUTHOR
Copyright 2003 - MKDoc Holdings Ltd.
Author: Jean-Michel Hiver
This module is free software and is distributed under the same license as Perl itself. Use it at your own risk.
SEE ALSO
MKDoc::XML::Token MKDoc::XML::TreeBuilder
perl v5.10.1 2004-10-06 MKDoc::XML::Tokenizer(3pm)