Exchanging Material with the Web

Export["file.html",nb]save the notebook nb in HTML form

Converting notebooks to HTML.

Export has many options applying to HTML export that allow you to specify how notebooks should be converted for web browsers with different capabilities.

MathMLForm[expr]print expr in MathML form
MathMLForm[StandardForm[expr]]use StandardForm rather than traditional mathematical notation
ToExpression["string",MathMLForm]interpret a string of MathML as Wolfram Language input

Converting to and from MathML.

Here is an expression printed in MathML form:
Click for copyable input

If you paste MathML into a Wolfram System notebook, the Wolfram System will automatically try to convert it to Wolfram Language input. You can copy an expression from a notebook as MathML using the Copy As menu in the notebook front end.

Export["file.xml",expr]export in XML format
Import["file.xml"]import from XML
ImportString["string","XML"]import data from a string of XML

XML importing and exporting.

Somewhat like Wolfram Language expressions, XML is a general format for representing data. The Wolfram Language automatically converts certain types of expressions to and from specific types of XML. MathML is one example. Another example is SVG for graphics.

If you ask the Wolfram Language to import a generic piece of XML, it will produce a SymbolicXML expression. Each XML element of the form <elem attr='val'>data</elem> is translated to a Wolfram Language SymbolicXML expression of the form XMLElement["elem",{"attr"->"val"},{data}]. Once you have imported a piece of XML as SymbolicXML, you can use the Wolfram Language's powerful symbolic programming capabilities to manipulate the expression you get. You can then use Export to export the result in XML form.

This generates a SymbolicXML expression, with an XMLElement representing the a element in the XML string:
Click for copyable input
There are now two nested levels in the SymbolicXML:
Click for copyable input
This does a simple transformation on the SymbolicXML:
Click for copyable input
This shows the result as an XML string:
Click for copyable input
Import["http://url",]import a file from any accessible URL
Import["ftp://url",]import a file from an FTP server

Importing data from web sources.

This imports a picture from a website:
Click for copyable input