---
title: "hantera XML i Perl"
type: "forum-thread"
url: "https://www.webforum.nu/amne/perl-ruby/83957-hantera-xml-i-perl"
topic: "Perl & Ruby"
topic_url: "https://www.webforum.nu/amne/perl-ruby"
author: "Roing"
published: "2003-08-11T00:33:55.000Z"
updated: "2003-08-12T05:45:35.000Z"
replies: 7
views: 348
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/perl-ruby/83957-hantera-xml-i-perl"
---

# hantera XML i Perl

## #1 — Roing, 2003-08-11T00:33Z

jag är nybörjare på Perl och försöker hantera lite XML data med detta...

jag kan plocka ut ett attribut med följande rad:
($data) = $buf =\~ /data="(.\*?)"/;

men jag vill nu göra en if sats som säger att jag bara skall göra detta om namnet på noden är t.ex. "klm"
\<klm data="3" /\>  kan t.ex. va min xml nod.

mvh/
Martin

Permalänk: https://www.webforum.nu/p/83957

## #2 — Robban, 2003-08-11T05:56Z

Det första man bör vänja sig av med som nybörjare, är att försöka uppfinna hjulet på nytt. En av Perls styrkor är den mängd färdig kod som finns i form av moduler. Använd den om möjligt. :)

I ditt fall skulle jag rekommendera någon av modulerna i <http://www.cpan.org/modules/by-module/XML/> (du kan t.ex. titta på modulen XML::Sax och se om den täcker dina behov).

Permalänk: https://www.webforum.nu/p/1133308

## #3 — Roing, 2003-08-11T11:09Z

Tack men dedär va nog lite väl tungt för mig...
Jag tror/hoppas jag kan klara mig med enklare kod.

som jag tänkt så borde jag kunna plocka ut nod namnet på liknade vis som jag får infon i variablen data
($data) = $buf =\~ /data="(.\*?)"/;

xml koden som jag hanterar är ju bara en nod åt gången så egntlgen så har ju inte detta så mycket med xml att göra...
Mer vanlig string hantering... Så om jag omformulerar frågan och vill ha fram första ordet efter \< i $buf. hur gör jag då?

Permalänk: https://www.webforum.nu/p/1133434

## #4 — Roing, 2003-08-11T11:25Z

jag va inne och kollade den där SAX också men jag hade problem att hitta någon rejäl beskrivning om vilka mettoder den innehåler... läste massa readme filer men inte mycket info i dem.
Var ska jag kolla?
/Martin

Permalänk: https://www.webforum.nu/p/1133447

## #5 — Hansen, 2003-08-11T13:54Z

[XML::Sax](http://search.cpan.org/author/MSERGEANT/XML-SAX/)

Permalänk: https://www.webforum.nu/p/1133555

## #6 — Robban, 2003-08-11T19:25Z

> Så om jag omformulerar frågan och vill ha fram första ordet efter \< i $buf. hur gör jag då?

Om man fortsätter på din befintliga kod ...

```
($name,$data) = $buf =~ /<([^ ]*) data="(.*?)"/;
```

Permalänk: https://www.webforum.nu/p/1133718

## #7 — Roing, 2003-08-11T19:47Z

aha. det är nog på den nivån jag vill hantera det hela. tack. var kan man lära sig den syntax hanteringen?

/Martin

Permalänk: https://www.webforum.nu/p/1133736

## #8 — Robban, 2003-08-12T05:45Z

Ett par exempel (du hittar många fler om du söker på "regular expressions" i en sökmaskin).

<http://www.effectiveperl.com/EP.04.pdf>

<http://www.perldoc.com/perl5.6.1/pod/perlretut.html>

<http://www.perldoc.com/perl5.6/pod/perlre.html>

Permalänk: https://www.webforum.nu/p/1134029

---

Tråden på webben: https://www.webforum.nu/amne/perl-ruby/83957-hantera-xml-i-perl
