Need help - How to Validate XML
I have just started playing around with XML in Flex2 and
can't figure out a few things. I have the following XML
var myData:XML =
<SPECIAL>
<ROW>
<ITEM_001 ITEM_NAME="TOLERANCE">10</ITEM_001>
<ITEM_002 ITEM_NAME="DIA A">.25</ITEM_002>
<ITEM_003 ITEM_NAME="DIA B">.5</ITEM_003>
</ROW>
<ROW>
<ITEM_001 ITEM_NAME="TOLERANCE">150</ITEM_001>
<ITEM_002 ITEM_NAME="DIA A">.25</ITEM_002>
<ITEM_003 ITEM_NAME="DIA B">.73</ITEM_003>
</ROW>
</_SPECIAL>
I want the extract the element name ITEM_00x from with the
row to use as a string in another portion of the app. For example,
I can get to the ITEM_NAME attribute (TOLERANCE) and to the value
(like 10). I can't figure out how to extract ITEM_001 short of
creating an XMLString and parsing it out. I'm sure there must be a
function or some other simple way to get it but I don't know what
it is.
Another thing I'd like to do is validate the xml somehow so I
can insure that I have a good format. Not sure how to do this in
Flex2. I'm uploading XML via HTTPService (e4X format) from users.
The only caveat is that the number of elements in each row can vary
depending on whom I get the xml from. I may have ITEM_001 thru
ITEM_010 in each row the first time and ITEM_001 thru ITEM_005 the
next.
Any help would be appreciated!
Warren Koch
That didn't do it -- it just extracted "TOLERANCE", not
"ITEM_001". What I'm trying to do is create an array of objects
based on the XML. Here is the code:
public function CreateSpecialDataArray():Array {
var Data_Name:String;
var theData:Array = new Array();
var DataObject:Object;
for each (var propRow:XML in myData.SPECIAL.ROW) {
DataObject = new Object();
for each (var propItem:XML in propRow.*) {
Data_Name = propItem.@ITEM_NAME;
DataObject[Data_Name]=propItem.toString();
theData.push(DataObject);
It's making the DataObject with properties of TOLERANCE, etc.
I want to make the DataObject with properties of ITEM_001,
ITEM_002, etc. I can't use the @ITEM_NAME to do this.
Similar Messages
-
Help: How to Validate XML using SAXParser and return the entire error list
Hi,
I have a problem, I'm trying to validate a xml document against the DTD. Here Im using SAXParser and having the ErrorHandler object passed when setting the error Handler, like parser.setErrorHandler(errorHandlerObj).
I need an output like where the entire XML document is read and all the errors have to be reported with the line number.
like example:
<b>Line 6: <promp>
[Error]:Element type "promp" must be declared.
Line 8: </prompt>
[Fatal Error]:The end-tag for element type "promp" must end with a '>' delimiter.
who can i achieve this.</b>
what happens with the present code is that it throws the first error it encountered and comes out.
how can i solve this problemYou can try to set the following feature to 'true' for your SAXParser:
http://apache.org/xml/features/continue-after-fatal-error
At least Xerces supports this feature. -
How to validate XML using java_xml_pack-summer-02?
In jaxp1.1, we validate the xml file in this way:
c:\java -jar Validator.jar myBookStore.xml
However, in java_xml_pack-summer-02, which is latest version of jaxp, the Validator.jar is not available. So, how to validate xml file?
Pls help.develop your own validator... here is a quick and dirty one, which spits exceptions when error are met:
import java.io.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
public class Validator
public static void main(String[] args) throws Exception {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(true);
spf.setNamespaceAware(true);
SAXParser sp = spf.newSAXParser();
sp.parse(new File(args[0]), new DefaultHandler());
} -
How to validate XML against XSD and parse/save in one step using SAXParser?
How to validate XML against XSD and parse/save in one step using SAXParser?
I currently have an XML file and XSD. The XML file specifies the location of the XSD. In Java code I create a SAXParser with parameters indicating that it needs to validate the XML. However, SAXParser.parse does not validate the XML, but it does call my handler functions which save the elements/attributes in memory as it is read. On the other hand, XMLReader.parse does validate the XML against the XSD, but does not save the document in memory.
My code can call XMLReader.parse to validate the XML followed by SAXParser.parse to save the XML document in memory. But this sound inefficient. Besides, while a valid document is being parsed by XMLReader, it can be changed to be invalid and saved, and XMLReader.parse would be looking at the original file and would think that the file is OK, and then SAXParser.parse would parse the document without errors.
<Book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book.xsd" name="MyBook">
<Chapter name="First Chapter"/>
<Chapter name="Second Chapter">
<Section number="1"/>
<Section number="2"/>
</Chapter>
</Book>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Book">
<xs:complexType>
<xs:sequence>
<xs:element name="Chapter" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Section" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="xnumber"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name"/>
</xs:complexType>
</xs:element>
</xs:schema>
public class SAXXMLParserTest
public static void main(String[] args)
try
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(true);
SAXParser parser = factory.newSAXParser();
parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
BookHandler handler = new BookHandler();
XMLReader reader = parser.getXMLReader();
reader.setErrorHandler(handler);
parser.parse("xmltest.dat", handler); // does not throw validation error
Book book = handler.getBook();
System.out.println(book);
reader.parse("xmltest.dat"); // throws validation error because of 'xnumber' in the XSD
public class Book extends Element
private String name;
private List<Chapter> chapters = new ArrayList<Chapter>();
public Book(String name)
this.name = name;
public void addChapter(Chapter chapter)
chapters.add(chapter);
public String toString()
StringBuilder builder = new StringBuilder();
builder.append("<Book name=\"").append(name).append("\">\n");
for (Chapter chapter: chapters)
builder.append(chapter.toString());
builder.append("</Book>\n");
return builder.toString();
public static class BookHandler extends DefaultHandler
private Stack<Element> root = null;
private Book book = null;
public void startDocument()
root = new Stack<Element>();
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
if (qName.equals("Book"))
String name = attributes.getValue("name");
root.push(new Book(name));
else if (qName.equals("Chapter"))
String name = attributes.getValue("name");
Chapter child = new Chapter(name);
((Book)root.peek()).addChapter(child);
root.push(child);
else if (qName.equals("Section"))
Integer number = Integer.parseInt(attributes.getValue("number"));
Section child = new Section(number);
((Chapter)root.peek()).addSection(child);
root.push(child);
public void endElement(String uri, String localName, String qName) throws SAXException
Element finished = root.pop();
if (root.size() == 0)
book = (Book) finished;
public Book getBook()
return book;
public void error(SAXParseException e)
System.out.println(e.getMessage());
public void fatalError(SAXParseException e)
error(e);
public void warning(SAXParseException e)
error(e);
public class Chapter extends Element
public static class Section extends Element
private Integer number;
public Section(Integer number)
this.number = number;
public String toString()
StringBuilder builder = new StringBuilder();
builder.append("<Section number=\"").append(number).append("\"/>\n");
return builder.toString();
private String name;
private List<Section> sections = null;
public Chapter(String name)
this.name = name;
public void addSection(Section section)
if (sections == null)
sections = new ArrayList<Section>();
sections.add(section);
public String toString()
StringBuilder builder = new StringBuilder();
builder.append("<Chapter name=\"").append(name).append("\">\n");
if (sections != null)
for (Section section: sections)
builder.append(section.toString());
builder.append("</Chapter>\n");
return builder.toString();
}Edited by: sn72 on Oct 28, 2008 1:16 PMHave you looked at the XML DB FAQ thread (second post) in this forum? It has some examples for validating XML against schemas.
-
my Creative Cloud subscription has expired, and I assigned the monthly payment, but I can not open any progam creative cloud, I need help how to solve this problem
Carlos-
Start by signing out and back in to see if it will see the subscription:
How to sign in and sign out of creative cloud (activate/deactivate)
If the apps are installed fine and close after launch see this link:
CC applications close immediately after launch
If the problem is something different, please let us know the error you see or what is happening on the screen so we can advise you on a solution
Pattie -
Hi, I have this green mark (with pointing arrow looks like a link) on some words show on my window screen when I open a web page, I wonder if it is a virus link or such. Need help how to get rid of it. Here's the example:
WING
GAMES
MAJORITY
ThanksIf the third link you posted (the link containing the word "majority") does not look like the following then you inadvertently installed adware.
That particular page should resemble the following:
The word "majority" in the third paragraph should not be a link and should not have the green icon associated with it.
To learn how this may have occurred, and how to prevent it from occurring in the future, read How to install adware
Most so-called "news" websites are nothing more than entertainment outlets that cater to prurient interests, and contain advertisements that leave the user about three clicks away from installing junk. If you decide to frequent those websites, Safari's "Reader" feature helps minimize that exposure.
Try it: -
How to validate xml file with XSD schema ?? in JDK1.4.2
How to validate xml file with XSD schema ?? in JDK1.4.2
i dont want to use new Xerec Jar ...
Suggest option ...Please do not double-post. http://forum.java.sun.com/thread.jspa?threadID=5134447&tstart=0
Then use Stax (Woodstock) or Saxon.
- Saish -
Mail server not responding. Need help how to verify my account
Mail server not responding. Need help how to verify my account
There are instructions on this page for how to create a new account without giving credit card details (the instructions won't work with existing accounts) : http://support.apple.com/kb/HT2534
Unless an account is created via those instructions then credit card details will need to be entered on it before the account can be used. -
How can I get a stripped screw out of the bottom of my iPhone?? I need help, How can I get a stripped screw out of the bottom of my iPhone?? I need help
Try asking at ifixit.com. The iPhone is not considered user servicable. You're not going to get much help on an Apple sponsored forum.
-
Hi All
please tell me how to validate xml using xsd
regardsTry using this link:
= http://www.google.nl/search?q=XML+validate+oracle for instance or
= use the search button on this forum and / or
= read the FAQ on this (XML DB FAQ
Thanks Eddie et all, for educating me via http://awads.net/wp/2006/11/14/barts-punishment-for-asking-dumb-questions (don't mind the URL , the info there is really useful)
The following link on this site is just brilliant: http://www.albinoblacksheep.com/flash/posting.php
Grz
Marco
Message was edited by:
mgralike -
Need help how to use itunes card to download music
Need help how to use itunes card to download music
If you want to add the iTunes card to your account, then in the iTunes app on the iPad you should be able to scroll to the bottom of the Music tab and there should be a Redeem button - there is more info here : http://support.apple.com/kb/HT1574
-
I have I pad one use iOS 5.1.1 i want update to iOS 8 itry a lot time but no possible i need help how ican doit.
The iPad 1 can not be upgraded beyond 5.1.1.
-
I need help, How could I add Aliases to Local Administrator account via terminal commands???
I want to use commands to add alias for existing administrator account remotly by using ARD.
Thanks.Hi,
a Windows Domain Controller does not have any local user or groups. So you might add the user to the admin group at Domain level.
B RGDS,
Gregor
Edited by: Gregor Gasper on Jan 9, 2009 1:44 PM -
Hi I am new on the Mac, I need help, how can I run my apps from my library on my Mac Pro? All my apps I was used in my iPad, thanks guys!!!!
The Mac OS X and iOS versions are separate products
-
hi..i am trying to login i message but i cant access ,it thing i forgot my password number, please i need help,how i can reset new password number. please i need help.
Go here.
Good luck,
Clinton
Maybe you are looking for
-
Can i use a wireless hard drive with an ipad
I am looking at buying a wireless Hard drive to store my movies on can I connect it to my Ipad?
-
Hit something when editing presentation and now slides are all reduced in size and not filling screen. Preferences, scale to fit doesn't work. What did I do?
-
Hi, I have an output value which is Rs.8,92,466.50. The issue is if am using the variable to display as character am getting the output as Rs.892466.50.(without commas). If i use float am getting an output as 8.9246650000000000E+05. If i use i am ge
-
Adobe CC CPU 4770k or 4930k? worth it?
I know this question has been asked but i feel it didnt answer my specific situation. Is the 4930 i7 worth it over the 4700 i7. I sort of know that a quad core based system would be enough for what i want to do (Ppro and AE) but I wanted to know if i
-
Anchor points move as I pull them but snap back into place. If I pull them out further, they snap to a new location but not precisely where I want them to. Help?