Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: smd_xml : extract data from XML feeds
Need some help here please,
this is my first time trying this plugin.
I got a feed from Beatport: for example this one .
And I want to grab the 3 self closing <link /> tags.
or the whole <content> tag data.
(What I need are the MP3 links)
so my code is this:
<txp:smd_xml data="http://feedlink..." record="entry" fields="title, link, content">
<div>
{title}
<br />
{link}
<br />
{content}
</div>
</txp:smd_xml>
and the only thing that works is the “title” field.
how can I grab the others please?
Offline
Re: smd_xml : extract data from XML feeds
THE BLUE DRAGON wrote:
this is my first time trying this plugin.
Then I’m sorry to report the plugin isn’t quite up to your challenge in its current guise. It’s a bit rubbish with self-closing links. You can have a copy of my dev version (which isn’t finished but mostly works with your example feed) if you get in touch with me. You can grab the links with {link|href}
, {link|rel}
, and {link|type}
.
The other issue that even the new version has, is that your feed isn’t true XML. Well, it is but halfway through each record is a block of XHTML which the plugin tries to interpret as XML. Not sure how to handle that — might need some kind of raw option in the plugin to treat certain content as non-XML. Will have a think about it, but for now if you don’t need the stuff inside the content
block I’d be tempted to skip
it just to be safe.
One other bizarre thing I found is that if you use &resultsPerPage=10
in the feed you get complete gibberish out of the feed. Any other value (5, 9, 11, 20, whatever) is fine and the feed is read properly. I have absolutely no idea why 10 is destroying the feed integrity. Totally weird.
Last edited by Bloke (2010-07-06 19:44:24)
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Online
Re: smd_xml : extract data from XML feeds
Bloke wrote:
but for now if you don’t need the stuff inside the
content
block I’d be tempted toskip
it just to be safe.
All I need is the titles and the mp3 links.
I want to create a page and open it in an iframe from the Write admin page,
and let the client to just choose the file and it will automatically grab the link of the mp3 and paste it in a custom-field.
just like the cool bot_image_upload plugin.
and from what I was reading in google is that the page inside the iframe must be on my server to be able to manipulate it using jQuery.
so if in the dev version that you got I will be able to grab the <link> tags as you mentioned, so yea I think it will work.
Last edited by THE BLUE DRAGON (2010-07-06 20:09:03)
Offline
#64 2010-07-14 13:29:14
- kevinpotts
- Member
- From: Ghost Coast
- Registered: 2004-12-07
- Posts: 370
Re: smd_xml : extract data from XML feeds
Bloke wrote:
bc. <txp:smd_xml data=“http://weather.yahooapis.com/forecastrss?w=2362700” record=“channel” fields=“yweather”>
Sunrise: {yweather:astronomy|sunrise}
Sunset: {yweather:astronomy|sunset}
</txp:smd_xml>
Stef —
Tried this exact syntax and the beta plugin does not output the data for the replacement tag. I also tried fields="yweather:astronomy"
and also outputting via a form instead of inside enclosed tags, but all that outputs is this:
Sunset: {yweather:astronomy|sunset}
I know this is beta functionality, but there is a good chance I am doing something wrong.
Kevin
(graphicpush)
Offline
#65 2010-07-14 13:45:23
- nardo
- Member
- From: tuvalahiti
- Registered: 2004-04-22
- Posts: 743
Re: smd_xml : extract data from XML feeds
Stef – this plugin is versatile, useful in so many contexts – keep at it boss
Offline
#66 2010-08-01 23:11:05
- krystal
- New Member
- Registered: 2010-07-29
- Posts: 5
Re: smd_xml : extract data from XML feeds
OK, yaay me, I installed my first plugin (said the excited newbie)! Can it be used for importation of blog-type files stored on one’s hard drive? If so, how should I proceed, since I am not a php coder, either…
thanks
Offline
Re: smd_xml : extract data from XML feeds
Hello, does anybody has any idea why this code
<txp:smd_xml data="http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&q=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F+%D0%A1%D0%B5%D1%80%D0%B1%D0%B8%D1%8F+%D0%B1%D0%B8%D0%B7%D0%BD%D0%B5%D1%81&cf=all&output=rss" record="item" fields="title, link" wraptag="ul" limit="5">
<li><a href="{link}">{title}</a></li>
</txp:smd_xml>
does not want to output 5 headlines, just 2 always even if I change 5 to 10 or any other number?
Help would be much appreciated!
Offline
Re: smd_xml : extract data from XML feeds
AndrijaM wrote:
Hello, does anybody has any idea why this code <snip> does not want to output 5 headlines, just 2 always
Yes. It’s because of Google’s insistence at making code as unreadable as possible in its quest to reduce the number of bytes served to browsers. They remove every jot of unnecessary whitespace — which makes the feed appear on one loooooooong line (look at the feed source code). The plugin has a default line legth of 8192 characters, so it’s only seeing around 2 <item>
’s worth of information.
The plugin docs have some examples on this. I suggest you experiment with the transport="curl"
attribute and — if that fails — try increasing the line_length
attribute. That should sort it out.
Last edited by Bloke (2010-08-31 20:03:12)
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Online
Re: smd_xml : extract data from XML feeds
Thank you Stef, transport=“curl” solves the problem :)
Offline
Re: smd_xml : extract data from XML feeds
I love this plug in! I was searching for a good XML/RSS solution for my site when I found this using a google search. I didn’t even know Textpattern existed, now I’m hooked. I am eternally grateful to Bloke for this.
Quick question:
photonomad wrote:
feed example: <Date>2008-11-15</Date <Time>20:00:00</Time>
I am using a feed similar to photonmad here: http://artistdata.sonicbids.com/shades-of-day/shows/xml/future
Bloke wrote:
format attribute which allows you to further manipulate each field in a variety of ways prior to seeing it in the form/container.
I am trying to format both the date and time.
Here is my current textpattern code:
<txp:smd_xml data="http://artistdata.sonicbids.com/shades-of-day/shows/xml/future"
record="show" fields="name, venueName, venueZip, venuePhone, venueAddress, ageLimit, venueURI, date, timeSet, ticketPrice, stateAbbreviation" format="date|date|%a-%e-%Y", "timeSet|time|%l:%M">
<p>{date} {name}</p>
<p>Set Time: {timeSet}</p>
<p>COST: {ticketPrice}</p>
</txp:smd_xml>
What I get is:
UPCOMING DATES
{date} {name}
Set Time: {timeSet}
COST: {ticketPrice}
I am stumped. How do I format both the date and time properly?
p.s. This is my first post to the forum, I hope this is all clear.
Offline
Re: smd_xml : extract data from XML feeds
rickoshay wrote:
I didn’t even know Textpattern existed, now I’m hooked. I am eternally grateful to Bloke for this.
Thanks for the props and glad you found us. I’d never heard of TXP either back in ’06 and it was a random link to a Jon Hicks site that led me on this path. In’t the interweb terrific!
Anyway, onto your problem, I think it’s just a slight syntactical snafu in your format
attribute. You have:
format="date|date|%a-%e-%Y", "timeSet|time|%l:%M"
Which, according to the parser, sees the end of the format
attribute after the second double quote, then a spurious comma in the tag and then some other timeSet ‘stuff’ in double quotes that it feels duty bound to ignore because it doesn’t understand it.
What you probably need is this:
format="date|date|%a-%e-%Y, timeSet|time|%l:%M"
which makes the format attribute one string, housing two things separated by a comma.
Give that a whirl and see how you go.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Online
Re: smd_xml : extract data from XML feeds
Bloke wrote:
What you probably need is this:
format="date|date|%a-%e-%Y, timeSet|time|%l:%M"
Thanks so much for the quick response! I copied in the new code and it got pretty close. The output I got was:
Sat-13-2010 TAKE ALL NIGHT Album Release Show and Celebration
Set Time: 20:00:00.0000000
COST: $15
This was good because the output was no longer getting blasted away by the plugin and the date was formatted nicely but the time still looked like it was from another planet.
So, I went to work on formatting the time by itself just to make sure it could be formatted. I used format="timeSet|time|%l:%M"
but had no luck.
Then I used format="timeSet|date|%l:%M"
SUCCESS! Well, now I put them both together using format="date|date|%a-%e-%Y, timeSet|date|%l:%M"
The output was:
Sat-13-2010 TAKE ALL NIGHT Album Release Show and Celebration
Set Time: 8:00
COST: $15
PAST DATES
GOT IT! The plugin was being confused by the fact that I was using timeSet|time
when I should have been using timeSet|date
for both.
Many thanks Bloke! You really saved me on this one.
Offline