Sponsored Content
Top Forums UNIX for Advanced & Expert Users Perl XML::DOM: How to test if element exists? Post 302572218 by fpmurphy on Wednesday 9th of November 2011 10:52:58 AM
Old 11-09-2011
Code:
my @files = @ARGV;
my $operation = "OPER1";
my $parser = XML::DOM::Parser->new();
my $doc = $parser->parsefile(@files[0]);

foreach my $oper ($doc->getElementsByTagName('Operation'))
{
   print "OPERATION: " . $oper->getAttribute('name') . "\n";
   if ( $operation eq $oper->getAttribute('name'))
   {
      foreach my $action ($oper->getElementsByTagName('Action'))
      {
         print "ACTION: " . $action->getAttribute('name') . "\n";
         for my $child ($action->getChildNodes()) {
            if ($child->getNodeType == ELEMENT_NODE) {
                if ($child->getTagName eq "Action-category") {
                     print "Action-category found\n";
                }
            }
         }
      }
   }
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to parse a XML file using PERL and XML::DOm

I need to know the way. I have got parsing down some nodes. But I was unable to get the child node perfectly. If you have code please send it. It will be very useful for me. (0 Replies)
Discussion started by: girigopal
0 Replies

2. Shell Programming and Scripting

Perl: How to convert xxx@dom.ain.com to domaincom

Hi, Is there a way to convert xxx@dom.ain.com to domaincom, so to remove everything before and including @ and then to remove the dot from the rest of the line? I know I can do: $str = "xxx\@dom.ain.com"; print "String before: $str\n"; $str =~ s/.*?@//; $str =~ s/\.//g; print... (6 Replies)
Discussion started by: Juha
6 Replies

3. Shell Programming and Scripting

XML root element

Hi All Can someone please help me with this awk to search an element in a XML file with a particular value and then change the root element. Thanks & Regards Karan (9 Replies)
Discussion started by: karansachdeva
9 Replies

4. Shell Programming and Scripting

Extract XML Element Values

I have a rather large file with XML-style content. Each line contains one full XML entry. For example: 1:<Message><DNIS>1234</DNIS><UCID>3456</UCID><TransferGroup>XYZXYZ</TransferGroup></Message> 2:<Message><DNIS>9999</DNIS><UCID>2584</UCID><TransferGroup>ABCABC</TransferGroup></Message>... (1 Reply)
Discussion started by: sharpi03
1 Replies

5. UNIX Desktop Questions & Answers

read XML xml element with REGEXP

Hi, I would need to read an xml element from an xml file to a local variable. Please could you help me with a shell script to get so? Considering that I have a file called file.xml like below: <header> <description>This is the description</description> <content>This is the... (2 Replies)
Discussion started by: oscarmon
2 Replies

6. Programming

DOM query selected path and show as xml

First, I am sorry if this question not this room scope, I have a XML file : file: book.xml <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> ... (3 Replies)
Discussion started by: penyu
3 Replies

7. Shell Programming and Scripting

Test if string exists

How do I use bash to test whether a string occurs more than two times in a file? (2 Replies)
Discussion started by: locoroco
2 Replies

8. AIX

Perl Module (XML:DOM) dependency

Hi All, I am facing dependency on AIX :confused:.I am trying to run an script which requires PERL MODULE (XML::DOM) to be installed. Please find the attached file which shows the error i am getting (cant locate XML/DOM.pm in @INC). Please let me know how to install PERL MODULE (XML::DOM) ... (3 Replies)
Discussion started by: srivatsa86
3 Replies

9. Shell Programming and Scripting

Find if XML element has a matching required element

I want to check if every <Part> element has corresponding <Description> in this sample XML. ....<Lot Of XML> <Inv lineNumber="2"> <Item> ... (4 Replies)
Discussion started by: kchinnam
4 Replies

10. Shell Programming and Scripting

If test array element multiplication

Ya, I know, who in this day and age is mirroring rootvg...? But yes, my shop does and I need to script checking for it. I also know I could just inverse the the logic and call the LV mirrored if the LPs and PPs were not equal. But I want to do the math in the if test and also know I could... (5 Replies)
Discussion started by: gtsonoma
5 Replies
XML::DOM::Text(3)					User Contributed Perl Documentation					 XML::DOM::Text(3)

NAME
XML::DOM::Text - A piece of XML text in XML::DOM DESCRIPTION
XML::DOM::Text extends XML::DOM::CharacterData, which extends XML::DOM::Node. The Text interface represents the textual content (termed character data in XML) of an Element or Attr. If there is no markup inside an element's content, the text is contained in a single object implementing the Text interface that is the only child of the element. If there is markup, it is parsed into a list of elements and Text nodes that form the list of children of the element. When a document is first made available via the DOM, there is only one Text node for each block of text. Users may create adjacent Text nodes that represent the contents of a given element without any intervening markup, but should be aware that there is no way to represent the separations between these nodes in XML or HTML, so they will not (in general) persist between DOM editing sessions. The normalize() method on Element merges any such adjacent Text objects into a single node for each block of text; this is recommended before employing operations that depend on a particular document structure, such as navigation with XPointers. METHODS splitText (offset) Breaks this Text node into two Text nodes at the specified offset, keeping both in the tree as siblings. This node then only contains all the content up to the offset point. And a new Text node, which is inserted as the next sibling of this node, contains all the content at and after the offset point. Parameters: offset The offset at which to split, starting from 0. Return Value: The new Text node. DOMExceptions: o INDEX_SIZE_ERR Raised if the specified offset is negative or greater than the number of characters in data. o NO_MODIFICATION_ALLOWED_ERR Raised if this node is readonly. perl v5.16.3 2000-01-31 XML::DOM::Text(3)
All times are GMT -4. The time now is 12:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy