[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: element census tool?
* Uche Ogbuji wrote: >> var elems = XDocument.Load(path).Root.DescendantsAndSelf(); >> var attrs = elems.Attributes() >> .GroupBy(x => new { Attr = x.Name, Elem = x.Parent.Name }); >> >> foreach (var elem in elems.GroupBy(x => x.Name)) >> Console.WriteLine("{0} {1}", elem.Count(), elem.Key); >> >> Console.WriteLine(); >> >> foreach (var attr in attrs) >> Console.WriteLine("{0} {1}/@{2}", attr.Count(), >> attr.Key.Elem, attr.Key.Attr); >> > >Just to be clear, that's C# with LINQ, right? (IIRC LINQ is not part of the >language def). The core language specification won't even let you do file io, so yeah, this is using System.Xml.Linq features. Note though that the SQL-like language I could have used instead of method calls above is part of the language specification (that is what I would consider "languaged inte- grated query") the DOM-like object model for XML documents is not. >> Though it would seem the GNU-ish way to solve this would be having a >> tool that prints out all the element names and attribute/element paths >> and then use, say, `sort | uniq -c` on it. > >Yeah, but if you've already gone through the exercise of parsing the XML, do >you really save much by punting to pipes for the most generic bits? It's more a matter of not having to write a special tool for this. -- Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de 25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|