This page is no longer maintained — Please continue to the home page at www.scala-lang.org

XML parese: java.net.MalformedURLException: no protocol

1 reply
Xuefeng Wu
Joined: 2009-09-11,
User offline. Last seen 42 years 45 weeks ago.
Hello,
I know it's java more than scala, but I know how to solve in java but don't know in scala.
when i parse a xml string, i get the exception:
Message: java.net.MalformedURLException: no protocol: <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
	<cas:authenticationSuccess>
		<cas:user>yourusernamehere</cas:user>
	</cas:authenticationSuccess>
</cas:serviceResponse>

	java.net.URL.<init>(URL.java:567)
	java.net.URL.<init>(URL.java:464)
	java.net.URL.<init>(URL.java:413)
	com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650)
	com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
	com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
	scala.xml.parsing.FactoryAdapter.loadXML(FactoryAdapter.scala:292)
	scala.xml.parsing.NoBindingFactoryAdapter.loadXML(NoBindingFactoryAdapter.scala:60)
	scala.xml.XML$.load(XML.scala:72)

My code is:XML.load(xmlcontent) \\ "cas:user" text
the xmlcontent is:
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
	<cas:authenticationSuccess>
		<cas:user>yourusernamehere</cas:user>
	</cas:authenticationSuccess>
</cas:serviceResponse>

Thanks.

--
Scala中文社区:  http://groups.google.com/group/scalacn
dcsobral
Joined: 2009-04-23,
User offline. Last seen 38 weeks 5 days ago.
Re: XML parese: java.net.MalformedURLException: no protocol
This works:
scala.xml.parsing.XhtmlParser(scala.io.Source.fromString(x))
Where "x" is a string with the XML you posted.

On Fri, Dec 11, 2009 at 6:42 AM, Xuefeng Wu <benewu@gmail.com> wrote:
Hello,
I know it's java more than scala, but I know how to solve in java but don't know in scala.
when i parse a xml string, i get the exception:
Message: java.net.MalformedURLException: no protocol: <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
	<cas:authenticationSuccess>
		<cas:user>yourusernamehere</cas:user>
	</cas:authenticationSuccess>
</cas:serviceResponse>

	java.net.URL.<init>(URL.java:567)
	java.net.URL.<init>(URL.java:464)
	java.net.URL.<init>(URL.java:413)
	com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650)
	com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
	com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
	scala.xml.parsing.FactoryAdapter.loadXML(FactoryAdapter.scala:292)
	scala.xml.parsing.NoBindingFactoryAdapter.loadXML(NoBindingFactoryAdapter.scala:60)
	scala.xml.XML$.load(XML.scala:72)

My code is:XML.load(xmlcontent) \\ "cas:user" text
the xmlcontent is:
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
	<cas:authenticationSuccess>
		<cas:user>yourusernamehere</cas:user>
	</cas:authenticationSuccess>
</cas:serviceResponse>

Thanks.

--
Scala中文社区:  http://groups.google.com/group/scalacn



--
Daniel C. Sobral

I travel to the future all the time.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland